mysql - 如何以不同的方式排序

标签 mysql sql

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/

相关文章:

Mysql 的 IN 和 ORDER BY 子句问题

php - 使用php中的多个关键字搜索数据库

php - 在 laravel 5.1 中制作访客跟踪器

sql - 删除字段值中的空格

sql - SQL 中存在的用户

sql - Mysql - 如何通过交替 (1,2,3, 1, 2, 3, 1, 2, 3,) 行来排序结果,这可能吗?

javascript - 加载时间付款方式一页结帐很长

MySQL - 选择ID下的行,按具有最新时间戳的列值分组

mysql - SQL 插入 Access 2010 时出错

php - 一般错误 : 1364 Field 'identifier' doesn't have a default value