我有一个包含两个字符串列的表ID
和LANGUAGE
。语言可以是CYM
,ENG
,GAE
之一。
从表中选择数据时,我想按语言列进行排序,在结果开头放置指定的语言,以后用其他语言排序。
说我有数据
+===+=====+
+ 1 + CYM +
+ 2 + GAE +
+ 3 + ENG +
+ 4 + CYM +
+===+=====+
我希望输出为
+===+=====+
+ 3 + ENG +
+ 1 + CYM +
+ 2 + GAE +
+ 4 + CYM +
+===+=====+
我如何做相同的
SELECT ID, LANGUAGE
FROM TABLE
ORDER BY (LANGUAGE = 'ENG'), ID
答案 0 :(得分:3)
您可以使用CASE WHEN
确保ENG
成为第一个:
SELECT ID, LANGUAGE
FROM your_table
ORDER BY
CASE LANGUAGE WHEN 'ENG' THEN 0
ELSE 1
END ASC;
-- ,ID ASC -- if needed
的 LiveDemo
强>