2011-10-12 93 views
-1

可能重複:
SQL Query to Select First/Top N recordsSQL選擇第x行

這是到目前爲止我的代碼:

SELECT WeekNumber, SUM(Hours) 
FROM Information 
WHERE YEAR = 2011 
GROUP BY WeekNumber 
ORDER BY WeekNumber DESC 

然而,我想選擇的最後一個星期的信息,或者上個月。有沒有辦法只選擇第一行或第一x行,在這些行包含該月的時間?

+0

http://stackoverflow.com/questions/7680672/sql-query-to-select-first-top-n-records/7680733#7680733是在多個關係數據庫中的這個問題的答案 –

回答

3

假設你正在使用SQL Server,使用TOP條款(limit僅用於MySQL的);例如: -

SELECT TOP 10 WeekNumber, SUM(Hours) 
FROM Information 
WHERE YEAR = 2011 
GROUP BY WeekNumber 
ORDER BY WeekNumber DESC 
+0

有沒有辦法使TOP子句動態的,它會根據它是什麼星期換一次? – brachaalizah

+0

@brachaalizah這是沒有意義的,weeknumber爲每個行可能不同,頂的X條款適用於整個查詢 –

0

使用Microsoft SQL Server 2008(在你的代碼中指定的),你需要使用TOP關鍵字。

SELECT TOP 10 WeekNumber, SUM(Hours) 
FROM Information 
WHERE YEAR = 2011 
GROUP BY WeekNumber 
ORDER BY WeekNumber DESC 

LIMIT關鍵字是MySQL,不用於SQL Server

您還可以使用SET ROWCOUNT 10在您的查詢,該做同樣的事情的一開始,但將持續在連接所有後續查詢。