我有一个包含用户信息的用户表。

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。

08-28 06:25