我有一个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对数据进行分组?
谢谢,
马特
答案 0 :(得分:1)
在周数中加3,然后整数除以4(整数结果)
例如(1 + 3)DIV 4 = 1,(4 + 3)DIV 4 = 1
所以GROUP BY (weekno + 3) DIV 4