我有一个包含用户信息的用户表。
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查询,我想要的用户列表就像order by 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。