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.

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...