微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – 在mysql查询中设置多个顺序

我有一个用户表,其中包含一些用户信息.

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.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐