2013-07-08 88 views
1

我需要一些幫助:-)獲取過去15周的數據

我正在繪製圖表以獲取當天的最後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) 

它給了我一個結果,但不是好的,因爲它不是從當天開始。

有人有這個想法嗎?

非常感謝

+0

我想你錯過了ORDER BY表達式 即ORDER BY u.USR_JOINED_DT DESC – jao

回答

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這是主要關鍵。

+0

事實上,我希望在本週的專欄中有一週的開始日期。 –

+0

@DavidSautet我的答案能解決你最初的問題嗎?你現在問一個新的問題嗎? – Curt