如何在MySQL中按順序定義自定義訂單在MySQL中,如何定義自定義排序順序。為了解釋我想要的是什么,這張表:ID Language Text0 ENU a0 JPN b0 DAN c 1 ENU d1 JPN e1 DAN f2 etc...在這里,我希望返回按語言和升序ID排序的所有行,以便Language=ENU優先,然后是JPN,最后是Dan。結果應該是:a,d,b,e,c,f等。這可能嗎?
3 回答

白衣非少年
TA貢獻1155條經驗 獲得超0個贊
CASE
ORDER BY `ID`, CASE `Language` WHEN 'ENU' THEN 1 WHEN 'JPN' THEN 2 WHEN 'DAN' THEN 3 END
ELSE 4
CASE
Language
ORDER BY `ID`, CASE `Language` WHEN 'ENU' THEN 1 WHEN 'JPN' THEN 2 WHEN 'DAN' THEN 3 ELSE 4 END, `Language`
)

呼如林
TA貢獻1798條經驗 獲得超3個贊
ENUM('ENU','JPN','DAN')
ORDER Language ASC
SELECT * FROM tableORDER BY CASE Language WHEN 'ENU' THEN 3 WHEN 'JPN' THEN 2 WHEN 'DAN' THEN 1 ELSE 0END DESC, ID ASC
添加回答
舉報
0/150
提交
取消