首页 > 解决方案 > 我想在 SQL 中按周设置下表组中的数据

问题描述

Date                                Sale               Product Name
+---------------------------+------------+-----------+--------------+ 
2018-10-25 05:27:35.9070422         1000                 P1
2018-10-18 05:27:35.9070422         2000                 P2
2018-10-2 05:27:35.9070422          3050                 P3
2018-10-10 05:27:35.9070422         1000                 P4
2018-10-5 05:27:35.9070422          1000                 P5

假设今天是 26-05-18

所以我的结果应该是这样的。

 Week                     Sales
+--------------------+------------+
 1                       4050
 2                       1000
 3                       2000
 4                       1000

标签: sqlsql-server

解决方案


对于周数,您可以使用 PARTDATE() 函数,因此您的查询应该是:

select partdate(WK,r.date) numweek, sum(r.sales) totsales 
from yourtable r
group by partdate(WK,r.date)

请看一下Get week number from dates in T-SQL

您还可以从 partdate(WK,r.date) 中减去 N 数值,然后注意 group by 子句,以从 1 开始选择周。

希望这可以帮到你


推荐阅读