我試圖得到一個查詢的所有結果,但不是第一位的,我有以下,但其捐贈我錯了,請幫忙;謝謝。
SELECT DISTINCT `memberID` FROM `discusComments`
WHERE `topicID` = 4 ORDER BY `id` DESC OFFSET 1
我試圖得到一個查詢的所有結果,但不是第一位的,我有以下,但其捐贈我錯了,請幫忙;謝謝。
SELECT DISTINCT `memberID` FROM `discusComments`
WHERE `topicID` = 4 ORDER BY `id` DESC OFFSET 1
SELECT DISTINCT `memberID`
FROM `discusComments`
WHERE `topicID` = 4
ORDER BY `id`
DESC limit 1,x
其中x是一個數字大到足以容納你所有的記錄。
或使用,而不是x,18446744073709551615,即bigint無符號的最大值。
當您在應用程序中收到結果時,忽略第一行。它比使用一個醜陋的查詢關鍵詞,比如更加簡潔:
SELECT * FROM my_table LIMIT 1, 18446744073709551615
得到了一個額外的行會不會真的傷害你的表現。
我不同意最好只是在問題要求刪除它時返回第一行......它與刪除第一行的方法一樣整潔。還有很多情況下,行數據可能足夠大而不希望從服務器傳輸到應用程序,例如,存儲在BLOB中的數據 – Barry
你得到了什麼錯誤信息? –
請參閱http://stackoverflow.com/questions/255517/mysql-offset-infinite-rows。如果沒有'LIMIT',不能使用'OFFSET'。 – Rob