我有具有以下結構的MySQL表:從MySQL中每兩行選擇,使用不同的列匹配
mysql> select id,channel,Stats,Bridged from channels; +----------+---------------------------------+---------+-------------------------------+ | id | channel | Stats | Bridged | +----------+---------------------------------+---------+-------------------------------+ | 21523318 | SIP/5602291658-0007f140 | Up | SIP/X.Y.Z.Q-0007f13f > | | 21523321 | SIP/X.Y.Z.Q-0007f13f | Up | SIP/5602291658-0007f140 | | 21523322 | SIP/5154642553-0007f13a | Up | SIP/402-0007f135 | | 21523323 | SIP/402-0007f135 | Up | SIP/5154642553-0007f13a |
看每兩個記錄,它們是成對的:例如ID 21523318的通道與下一個ID的橋接列相同。
我的問題是:考慮到表格通常包含數千個條目,我怎麼能爲每兩條記錄選擇一行?
我的意思是 - 一旦我有第一行,並且我可以驗證在數據庫中「Bridged」列信息存在爲「channel」,以顯示一行。我可以遞歸地做到這一點(檢查每一行,如果有另一個橋接通道,但數以千計它變得非常緩慢,並且有很多查詢。 我正在考慮與channel = Bridged上的同一個表進行內部連接,然後不知何故做group by或東西...
任何線索或想法,我應該如何進行
選擇。 *,b。* FROM通道a JOIN通道b ON b.bridged = a.channel; – Strawberry