2011-11-03 56 views
0

如果我希望選擇列「id」中最大的5個整數行,那麼正確的SQL語句是什麼?如何在整數列中選擇5個最高值?

目前,我有一些東西,只獲得ID是小於5:

SELECT * FROM table WHERE id < 5 
+0

你想要第5個?或最大的5個整數? – Matt

回答

3
SELECT * FROM mytable ORDER BY id DESC LIMIT 5 
+0

@exxcellent:由於沒有人真正解釋了爲什麼'id <5'與'LIMIT 5'不同,我會嘗試。 'id <5'實際上比較了每個'id'的值。如果您將比較結果更改爲'id <10'和'id <15',您可以觀察結果如何變化。另一方面,「LIMIT 5」將整個結果集截斷爲前5個結果。這就是爲什麼您還必須使用'ORDER BY id DESC'來保證前5個結果是具有最高值的'id'值。 –

+0

@KurtMcKee你是絕對正確的,但這裏exxcellent不想任何解釋,所以沒有人給出解釋。我想這裏給出的答案都知道這個解釋。無論謝謝。 –

1

如果我理解正確的話,我覺得你需要這個,

SELECT * FROM table ORDER BY id DESC LIMIT 5 
2

5大「id」值:

SELECT * FROM table ORDER BY id DESC LIMIT 5 
0
SELECT top 5 * FROM mytable ORDER BY id DESC