我有一张 table
表用户
Id Name status
1 Jhon Approved
2 Endy Decline
3 Ally In Review
我必须显示所有用户的列表,并仅对那些未获批准的行进行排序。
我的代码如下
(select name from user where status<>'Approved' order by status asc)
UNION
(select name from user where status='Approved')
我总是在 ASC
和 DESC
两种情况下得到这个
Id Name status
3 Ally In Review
2 Endy Decline
1 Jhon Approved
按 name
排序的结果应该相同。
(select name from user where status<>'Approved' order by name asc)
UNION
(select name from user where status='Approved')
Id Name status
3 Ally In Review
2 Endy Decline
1 Jhon Approved
请帮帮我。您的帮助将不胜感激。
最佳答案
您可以使用 case when
作为 order by
select * from User
order by
case when status <> 'Approved' then 0 else 1 end ,status;
关于mysql - 仅在 UNION mysql 中的一个查询中排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32589444/