以下是带结果的查询:
SELECT id, name FROM medic WHERE x=z ORDER BY name ASC
1. Aric
2. Bodi
3. Copi
4. Dori
5. Edo
6. Other
7. Poyo
8. Quex
9. Razix
10. Zika
如果我需要展示" 其他"最后的结果如下:
1. Aric
2. Bodi
3. Copi
4. Dori
5. Edo
7. Poyo
8. Quex
9. Razix
10. Zika
6. Other
答案 0 :(得分:2)
一种选择是使用CASE
表达式订购:
SELECT
id,
name
FROM medic
WHERE x=z
ORDER BY
CASE WHEN name <> 'Other' THEN 0 ELSE 1 END,
name
答案 1 :(得分:2)
在MySQL中,您只需使用布尔表达式:
ORDER BY (name <> 'Other') DESC,
name
MySQL将布尔表达式视为数字上下文中的数字,其中“1”表示true,“0”表示false。 (我碰巧喜欢这个惯例,并希望其他数据库也有类似的支持。)在这些情况下,这很方便。
答案 2 :(得分:0)
在ORDER BY子句中使用两个表达式,或者,我们可以用“高”值替换我们想要的值。
ORDER BY IF(t.name='Other', 'ZZZZZZZ', t.name)