如何在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贡献1828条经验 获得超4个赞
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贡献1809条经验 获得超8个赞
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
提交
取消