1

我需要一些帮助 :-)

我正在制作一张图表,以获取当天过去 15 周的数据。

SELECT   count(*) AS nbUsers, DATEPART(week,u.USR_JOINED_DT) week
from [USR_USER] u
INNER JOIN [USI_USER_SITE] s ON u.USR_ID = s.USR_ID
where u.[USR_JOINED_DT] >=  DATEADD(DAY, -105, GETDATE()) 
GROUP BY DATEPART(week,u.USR_JOINED_DT) 

它给了我一个结果,但不是好的结果,因为它不是从当天开始的。

有人对此有想法吗?

非常感谢

4

1 回答 1

1

在您的 SQL 语句中包含一个ORDER BY子句:

SELECT   count(*) AS nbUsers, DATEPART(week,u.USR_JOINED_DT) week
from [USR_USER] u
INNER JOIN [USI_USER_SITE] s ON u.USR_ID = s.USR_ID
where u.[USR_JOINED_DT] >=  DATEADD(DAY, -105, GETDATE()) 
GROUP BY DATEPART(week,u.USR_JOINED_DT)
ORDER BY u.[USR_JOINED_DT] --Ensures the data is ordered chronologically

如果没有ORDER BY子句,SQL 会找到最快的方法来返回结果。9/10 这是主键。

于 2013-07-08T14:17:27.910 回答