MySQL表中有国家:
id | title
1 | USA
2 | Spain
3 | Italy
4 | Canada
我需要在列表顶部选择意大利,并在下方按标题排序其他国家/地区。 但是“订购依据”不起作用。
(SELECT * FROM countries WHERE id = 3) UNION (SELECT * FROM countries WHERE id != 3 ORDER BY title)
最佳答案
首先根据是否是意大利对数据进行排序,首先获得意大利。然后根据标题排序。
SELECT * FROM countries
ORDER BY title='Italy' DESC, title
(您必须知道或试验的唯一技巧是 FALSE
出现在 TRUE
之前,因此 DESC
在代码中。如果将它们转换为 0 < 1,我想这是有道理的。)
关于mysql - 如何以不同的方式排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21732180/