我有一个用户表,其中包含一些用户信息.
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.
标签:php,sql,mysql,mysqli
来源: https://codeday.me/bug/20190828/1750422.html