扫码关注官方订阅号
MySQL查询用户表中所有记录,按ID降序排序,如果用户状态为0(未激活),则注册时间升序,排在结果最后,这个SQL.该怎么写呢?
ringa_lee
假设status=1为激活,0未激活select *from user order by status desc,case status when 1 then id end desc,case status when 0 then created_at end asc;
select *from user order by status desc,case status when 1 then id end desc,case status when 0 then created_at end asc;
select * from user order by id ASC , status ASC , register_time ASC;这样子是你要的效果咩,如果不符合我再改
select * from user order by id ASC , status ASC , register_time ASC;
(select from user where status=1 order by id desc) union all (select from user where status=0 order by register_time asc)
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
扫描下载App
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
假设status=1为激活,0未激活
select *from user order by status desc,case status when 1 then id end desc,case status when 0 then created_at end asc;
select * from user order by id ASC , status ASC , register_time ASC;
这样子是你要的效果咩,如果不符合我再改(select from user where status=1 order by id desc) union all (select from user where status=0 order by register_time asc)