假設我有一個ID列的表。MySQL查詢幫助?
我想做一個MySQL查詢查看錶中的所有數據,看它是否滿足兩個條件之一。如果它符合第一個條件(稱爲X),那麼當下一個條件滿足(Y)時,我想要找到ID而沒有任何重疊。所以基本上一個模式將合併X然後是Y.
沒有重疊意味着例如如果條件X被滿足的ID是6並且條件Y被滿足的ID是12.我不想要下一個X條件即使存在X條件,也要在6和12之間。
我很困惑如何設置這樣的查詢。我想我可以使用同一個表的連接,然後有一個where子句來調節第二個id比第一個更大,但這是行不通的。
這本來查詢我
SELECT x.id AS 'x_id', x.data AS 'x_data', y.id AS 'y_id', y.data AS 'y_data'
FROM Table1 AS x, Table1 AS y
WHERE y.id > x.id AND y.id-x.id >= 5
AND Y Conditions AND X Conditions
ID1,其中x是滿足,ID 2,其中y遭到了其中的數據是0和1之間。如果條件X(例如X <一些隨機數。 5滿足,然後我想要ID),那麼我需要滿足條件Y的以下ID(例如Y> .6)。所以基本上輸出是基於兩個條件的來自同一個表的兩個不同ID。
我想要的圖案出現在那裏它在X和Y之間的ID去X則Y,則X則Y沒有重疊
6, Data, 15, Data 6, Data, 21, Data 6, Data 23, Data 6, Data , 27, Data 9, Data, 15, Data 9, Data, 21, Data
理想的情況下,這是我想 id-x data id-y data
非常感謝幫助。
我也嘗試過使用DISINCT作爲其中一個ID,但是出現了相同的結果 – evanvee 2011-03-29 20:17:48
@evanvee:建議編輯你的問題,使其清楚地表明你的結果集。如果您包含之前和之後的樣本數據,這將有助於說清楚。 – 2011-03-29 21:15:09
@ p.campbell我試圖讓它更清晰。現在有道理嗎? – evanvee 2011-03-29 21:22:16