按周分组,获取一周的第一天,按工作日旋转

紫菜

我需要进行查询,以显示每个客户每周(按周分组)订购的每个商品/单元组合的数量,同时显示一周的第一天,还显示该周的每一天订购的数量(按工作日的枢轴数量) )。到目前为止,我有这个,但是我不确定如何按周将其分组。

SELECT customer_name, item_code, item_desc,  unit, delivery_date, [Monday], [Tuesday], [Wednesday], [Thursday], [Friday], [Saturday], [Sunday]
FROM (
    SELECT customer_name, item_code , item_desc , unit, delivery_date, DATENAME(dw, delivery_date) AS DayWeek, qty
    FROM order_items oi inner join orders on localID = local_order_id
    ) AS ordersItems
    pivot (
        SUM(qty) FOR DayWeek IN ([Monday], [Tuesday], [Wednesday], [Thursday], [Friday], [Saturday], [Sunday])
    ) AS pvt
约瑟夫·B

以下查询按客户/项目/单位/周#组合进行分组。它返回订单总数以及按星期几细分的订单数。CASE语句与SUM函数一起使用以获取一周中每一天的订单总数

编辑:修改查询以按周开始日期分组(而不是以前的第#周)

SELECT customer_name, item_code, item_desc, unit, 
CASE SIGN(7-(DATEPART(dw, action)+2))
  WHEN -1 THEN CAST(DATEADD(dd, 7-(DATEPART(dw, action)+2), action) AS DATE)
  WHEN 0 THEN CAST(action AS DATE)
  WHEN 1 THEN CAST(DATEADD(dd, -(DATEPART(dw, action)+2), action) AS DATE)
END Week_Starting_Friday
SUM(qty) Total_Orders, 
SUM(
    CASE DATENAME(dw, delivery_date) WHEN 'Monday' THEN qty ELSE 0 END
) [Monday],
SUM(
    CASE DATENAME(dw, delivery_date) WHEN 'Tuesday' THEN qty ELSE 0 END
) [Tuesday],
SUM(
    CASE DATENAME(dw, delivery_date) WHEN 'Wednesday' THEN qty ELSE 0 END
) [Wednesday],
SUM(
    CASE DATENAME(dw, delivery_date) WHEN 'Thursday' THEN qty ELSE 0 END
) [Thursday],
SUM(
    CASE DATENAME(dw, delivery_date) WHEN 'Friday' THEN qty ELSE 0 END
) [Friday],
SUM(
    CASE DATENAME(dw, delivery_date) WHEN 'Saturday' THEN qty ELSE 0 END
) [Saturday],
SUM(
    CASE DATENAME(dw, delivery_date) WHEN 'Sunday' THEN qty ELSE 0 END
) [Sunday]
FROM order_items oi inner join orders on localID = local_order_id
GROUP BY customer_name, item_code, item_desc, unit, 
CASE SIGN(7-(DATEPART(dw, action)+2))
  WHEN -1 THEN CAST(DATEADD(dd, 7-(DATEPART(dw, action)+2), action) AS DATE)
  WHEN 0 THEN CAST(action AS DATE)
  WHEN 1 THEN CAST(DATEADD(dd, -(DATEPART(dw, action)+2), action) AS DATE)
END
ORDER BY 5, customer_name, item_code, item_desc, unit;

参考文献

  1. MSDN上的CASE声明
  2. MSDN上的DATENAME

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在 php 中获取一周的第一天/最后一天?

来自分类Dev

如何在Hive中按年的星期数获取星期的开始日期?一周的第一天应该是星期一

来自分类Dev

使用momentJs获取基于语言环境的一周的第一天

来自分类Dev

在没有WeekCalendarUnit的情况下获取一周的第一天

来自分类Dev

如何在sql server 2008中获取一周的第一天和一周的最后一天?

来自分类Dev

SSRS表达式-从周值中查找一周的第一天

来自分类Dev

SSRS表达式-从周值中查找一周的第一天

来自分类Dev

一周的第一天和日历周

来自分类Dev

每月第一天的工作日

来自分类Dev

TSQL-查找一周的第一天或第二天

来自分类Dev

在JavaFX的DatePicker中设置一周的第一天

来自分类Dev

在LINQ语句中检查一周的第一天

来自分类Dev

Java日历-一周的第一天VS实际最小值

来自分类Dev

在Powershell中如何确定一周的第一天?

来自分类Dev

如何在PostgreSQL中更改一周的第一天

来自分类Dev

是语言或基于国家对JVM第一天的一周?

来自分类Dev

如何获得一周的第一天,某个地区/国家

来自分类Dev

R如何使用ggplot在x轴上绘制一周的第一天

来自分类Dev

如何获得一周的第一天,具体取决于NLS

来自分类Dev

在LINQ语句中检查一周的第一天

来自分类Dev

从IE中的日历开始一周的第一天

来自分类Dev

如何在Swift中更改一周的第一天

来自分类Dev

在Unity日历中将星期日设置为一周的第一天

来自分类Dev

DATEPART:在不能使用 SET DATEFIRST 时指定一周的第一天

来自分类Dev

如何获取当前周/月的第一天和最后一天

来自分类Dev

Android日历:一周的第一天和最后一天->零个月

来自分类Dev

使用Postgresql的前一周的第一天和最后一天

来自分类Dev

如何将一周的第一天和一周的最后一天设置为白色?

来自分类Dev

获取周的第一天和最后一天的日期,了解周号

Related 相关文章

  1. 1

    在 php 中获取一周的第一天/最后一天?

  2. 2

    如何在Hive中按年的星期数获取星期的开始日期?一周的第一天应该是星期一

  3. 3

    使用momentJs获取基于语言环境的一周的第一天

  4. 4

    在没有WeekCalendarUnit的情况下获取一周的第一天

  5. 5

    如何在sql server 2008中获取一周的第一天和一周的最后一天?

  6. 6

    SSRS表达式-从周值中查找一周的第一天

  7. 7

    SSRS表达式-从周值中查找一周的第一天

  8. 8

    一周的第一天和日历周

  9. 9

    每月第一天的工作日

  10. 10

    TSQL-查找一周的第一天或第二天

  11. 11

    在JavaFX的DatePicker中设置一周的第一天

  12. 12

    在LINQ语句中检查一周的第一天

  13. 13

    Java日历-一周的第一天VS实际最小值

  14. 14

    在Powershell中如何确定一周的第一天?

  15. 15

    如何在PostgreSQL中更改一周的第一天

  16. 16

    是语言或基于国家对JVM第一天的一周?

  17. 17

    如何获得一周的第一天,某个地区/国家

  18. 18

    R如何使用ggplot在x轴上绘制一周的第一天

  19. 19

    如何获得一周的第一天,具体取决于NLS

  20. 20

    在LINQ语句中检查一周的第一天

  21. 21

    从IE中的日历开始一周的第一天

  22. 22

    如何在Swift中更改一周的第一天

  23. 23

    在Unity日历中将星期日设置为一周的第一天

  24. 24

    DATEPART:在不能使用 SET DATEFIRST 时指定一周的第一天

  25. 25

    如何获取当前周/月的第一天和最后一天

  26. 26

    Android日历:一周的第一天和最后一天->零个月

  27. 27

    使用Postgresql的前一周的第一天和最后一天

  28. 28

    如何将一周的第一天和一周的最后一天设置为白色?

  29. 29

    获取周的第一天和最后一天的日期,了解周号

热门标签

归档