id | name | country
------------------------------
1 | user1 | India
2 | user2 | China
3 | user3 | United State
4 | user4 | India
5 | user5 | Shri Lanka
6 | user6 | China
7 | user7 | India
我想搜索用户并编写一个MySQL查询.用户列表我想按id desc订购,但是如果中国的用户应该到最后.
select * from users order by id desc
这个查询按降序给我结果,但我不知道我写的国家.
我的输出应该是
id | name | country
------------------------------
7 | user7 | India
5 | user5 | Shri Lanka
4 | user4 | India
3 | user3 | United State
1 | user1 | India
6 | user6 | China
2 | user2 | China
解决方法:
您可以使用条件排序:
ORDER BY t.country = 'China', // 1 if true, 0 if false, ordered ASC
t.id DESC
MysqL接受布尔表达式,因此t.country =’China’如果为true则为1,如果为false则为0.