如何在sql中按周分组数据?

时间:2013-04-25 06:50:49

标签: php sql sql-server

我得到的表值如下表

 Name            City             Date
  a                1             Mar 22 2013
  b                2             Apr 19 2013
  c                3             Apr 20 2013 
  d                4             Apr 22 2013
  e                5             Apr 27 2013
  f                6             Apr 30 2013
  g                7             Jun 5  2013

我得到了如上表所示的价值观。今天的日期是2013年4月25日。我需要按照 2013年4月18日到2013年6月2日的+7和-7这些值进行分组。请帮帮我。

2 个答案:

答案 0 :(得分:3)

select * from yourTable 
where DATEDIFF(day,'2013-04-25',[Date]) between -7 and 7

如果您在查询运行时需要当前日期,请使用GETDATE()函数代替'2013-04-25'

答案 1 :(得分:3)

根据当前日期动态创建条件

SELECT *
FROM dbo.yourTable
WHERE Date >= DATEADD(DAY, DATEDIFF(DAY, 0, GETDATE())-7, 0)
  AND Date < DATEADD(DAY, DATEDIFF(DAY, 0, GETDATE())+8, 0)