我喜歡在MySQL上優先選擇一行。我不知道這是否是可能的,但看到下面的例子:MySQL中的優先條件
id name
1 John
2 Doe
3 Mary
4 Jhonny
假設我不知道ID,而是通過一個具體的理由,我需要通過優先選擇:3,2,1 ...在這種情況下,MARY將被選中(#3)。但是如果我需要按順序選擇5,2,1,DOE將被選中(#2)。
好的,我可以通過使用IN(5,2,1)。問題是,如果我沒有任何結果(如IN(5,6,7)),我至少需要一行(無所謂)。
例如:選擇5,6,7 ...找不到...然後,選擇第一個找到的(如JOHN)。
有可能嗎?
再見!
編輯:我只是覺得這個解決方案的,但我不知道它應該有多快可以,但效果很好。接受一個有更好基準的迴應,以免失敗。
ORDER BY FIND_IN_SET(`id`, '5,6,7') DESC
優先級順序可以是類似於「2,4,1,3」併產生Doe的結果嗎?或者'Jhonny'是一個可接受的結果? –
如果不符合優先級,可以使用任何行,以先到者爲準,就是這樣。 –