2016-01-20 48 views
-4

我不知道我做錯了什麼。在我下面的示例表,我想獲得具有藍色colorid 3.所以number 4開始我用抵消id,但沒有迴音:如果我刪除number=4我的OFFSET mysql有什麼問題?

SELECT id FROM table_name WHERE color =blue AND number=4 ORDER BY id LIMIT 8 OFFSET 2 

,那麼一切都罰款:

SELECT id FROM table_name WHERE color =blue ORDER BY id LIMIT 8 OFFSET 2 

如何解決這個問題?由於

我的表

id | color | number 
------------------- 
1 | blue | 4 
2 | blue | 3 
3 | blue | 5 
4 | blue | 4 
5 | blue | 2 
6 | blue | 4 
7 | blue | 3 
8 | blue | 4 
+3

'WHERE color = blue'

+3

*「如果我刪除了數字= 4,那麼一切都很好。」* - 不是'WHERE color = blue'它不會。再次,這是一個字符串。你爲什麼不編輯你的問題,關於你真正使用的問題。 –

+0

你爲什麼不發佈你的實際數據?你的表格/專欄是否有很多祕密? – chris85

回答

1

你的顏色欄比較,以一個字符串值,例如「藍」

SELECT id FROM table_name WHERE color ='blue' AND number=4 ORDER BY id LIMIT 8 OFFSET 2 

編輯:另外,如果你你將有兩行或更少將通過退還where子句,你不會得到與因爲偏移量的2抵消任何行會跳過前兩個結果。對於您發佈的數據,情況並非如此,但如果您使用的數據與您在此發佈的數據不同,這可能會解釋您所看到的內容。

+0

OP:*「如果我刪除數字= 4,那麼一切都很好」*。 –

+0

我曾嘗試過,沒有工作。如果我不使用AND號碼= 4,那麼它是好的,但我需要找到id也等於4. – conan

+0

@conan當你在那裏閱讀我的評論時,它完全避免了這個答案。或者,你只回答答案嗎? –