-2
我有一个sql语句,将external
作为最后一个,但我也想按名称对其余结果进行排序。是否可以使用两个ORDER BY
?按大小写和按名称排序
SELECT `id`
FROM `user`
WHERE `parent` = %d AND `isFolder` = 1
ORDER BY CASE WHEN name = \'External\' THEN 2 ELSE 1 END
我有一个sql语句,将external
作为最后一个,但我也想按名称对其余结果进行排序。是否可以使用两个ORDER BY
?按大小写和按名称排序
SELECT `id`
FROM `user`
WHERE `parent` = %d AND `isFolder` = 1
ORDER BY CASE WHEN name = \'External\' THEN 2 ELSE 1 END
根据要求,我的评论作为答案!
只需将name
列添加到列表ORDER BY
:
SELECT `id`
FROM `user`
WHERE `parent` = %d AND `isFolder` = 1
ORDER BY CASE WHEN name = \'External\' THEN 2 ELSE 1 END, name
你使用哪种DBMS? – Jens
'ORDER BY case ... end,name' – jarlh
是的,这是可能的。 http://gitolite.com/tias.html通常适用于编程中的所有内容。 – Xatenev