2011-08-17 45 views
6

可能重複:
Mysql Offset Infinite rowsMYSQL得到的所有結果,但第一

我試圖得到一個查詢的所有結果,但不是第一位的,我有以下,但其捐贈我錯了,請幫忙;謝謝。

SELECT DISTINCT `memberID` FROM `discusComments` 
WHERE `topicID` = 4 ORDER BY `id` DESC OFFSET 1 
+1

你得到了什麼錯誤信息? –

+3

請參閱http://stackoverflow.com/questions/255517/mysql-offset-infinite-rows。如果沒有'LIMIT',不能使用'OFFSET'。 – Rob

回答

13
SELECT DISTINCT `memberID` 
FROM `discusComments` 
WHERE `topicID` = 4 
ORDER BY `id` 
DESC limit 1,x 

其中x是一個數字大到足以容納你所有的記錄。

或使用,而不是x,18446744073709551615,即bigint無符號的最大值。

2

當您在應用程序中收到結果時,忽略第一行。它比使用一個醜陋的查詢關鍵詞,比如更加簡潔:

SELECT * FROM my_table LIMIT 1, 18446744073709551615 

得到了一個額外的行會不會真的傷害你的表現。

+0

我不同意最好只是在問題要求刪除它時返回第一行......它與刪除第一行的方法一樣整潔。還有很多情況下,行數據可能足夠大而不希望從服務器傳輸到應用程序,例如,存儲在BLOB中的數據 – Barry

相關問題