SQL 4周时段分组

时间:2017-10-24 02:00:48

标签: mysql

我有一个SQL表,其中包含按日期排序的订单数据。我试图在4周的时间段内将数据结合起来,以便我可以比较年复一年。幸运的是,该表包含年份和周数列,以便我可以汇总数据以按周数显示订单总数,例如:

使用SELECT order_year, order_week_number, sum(order_total) from f2l4d1a2ta_237_floodlight_order_data_v1 group by order_week_number ORDER BY order_week_number, order_year

我明白了:

order_year  order_week_number   sum(order_total)
2017    1   96.40879041
2017    2   33.34092216
2017    3   97.79772267
2017    4   28.05668819
2017    5   75.79034382
2017    6   41.59171513
2017    7   3.754344347
2017    8   66.27940579
2016    1   65.81290635
2016    2   71.17703765
2016    3   65.95184929
2016    4   90.42108213
2016    5   44.32837015
2016    6   19.9644766
2016    7   53.46359297
2016    8   7.059479081

然而,我真正追求的是查看一年中4周期间的订单总额,即

order_year  4 week period   sum(order_total)
2017    1   255.6041234
2017    2   187.4158091
2016    1   293.3628754
2016    2   124.8159188

有谁知道如何以这种方式使用SQL对数据进行分组?

谢谢,

马特

1 个答案:

答案 0 :(得分:1)

在周数中加3,然后整数除以4(整数结果)

例如(1 + 3)DIV 4 = 1,(4 + 3)DIV 4 = 1

所以GROUP BY (weekno + 3) DIV 4