我的表中有一列包含值0或1。 現在我想選擇最後一段的開始1分的。SQL:選擇所有記錄匹配值'x',但在出現值'y'時停止
想象一下,我有兩列的下一張桌子。的1的最後一個週期是ID的4和3 這個時期的開始是ID = 3
ID - VALUE
- 5 - 0
- 4 - 1 < - 最後週期
- 3 - 1 < - 最後週期
- 2 - 0
- 1 - 1 < - 段更長前
- 0 - 0
但是,如何選擇一條查詢(也許有點PHP)並沒有選擇所有記錄這個記錄?
編輯:
使用MySQL
我的表中有一列包含值0或1。 現在我想選擇最後一段的開始1分的。SQL:選擇所有記錄匹配值'x',但在出現值'y'時停止
想象一下,我有兩列的下一張桌子。的1的最後一個週期是ID的4和3 這個時期的開始是ID = 3
ID - VALUE
但是,如何選擇一條查詢(也許有點PHP)並沒有選擇所有記錄這個記錄?
編輯:
使用MySQL
你可以嘗試尋找最高的ID值爲1,其最接近的低ID具有值0 在SQL這將是:
SELECT p1.id FROM periods p1
WHERE p1.value = 1
AND (SELECT p2.value FROM periods p2
WHERE p2.id<p1.id
ORDER BY p2.id DESC LIMIT 1) = 0
ORDER BY p1.id DESC LIMIT 1
在MySQL:
SELECT min(id)
FROM table_name
WHERE id > 3 AND value = 1
在你的PHP你會代替數 '3' 這是你的價值數從...開始。
我相信這是答案,但我可能不完全理解你的問題。
什麼是這些表之間的關係? –
這只是一張桌子。 Id和VALUE是列。 – OrangeTux
你想要所有的值爲1的ID,對嗎? –