这是我拥有的数据;
type valid blocked
--------- ----- --------
CPI 0 0
CPI 1 0
CPI 0 1
CPI 1 1
CPA 0 0
CPA 1 0
CPA 0 1
CPA 1 1
CPE 0 0
CPE 1 0
CPE 0 1
CPE 1 1
PIN 0 0
PIN 1 0
PIN 0 1
PIN 1 1
这是我想要的排序方式;
type valid blocked
--------- ----- --------
CPI 1 0
CPA 1 0
CPI 1 1
CPA 1 1
CPI 0 0
CPA 0 0
CPI 0 1
CPA 0 1
CPE 1 0
CPE 1 1
CPE 0 0
CPE 0 1
PIN 1 0
PIN 1 1
PIN 0 0
PIN 0 1
所以,CPI 和 CPA 先按有效排序,然后再解锁。接下来,其 CPI 按有效排序,然后解锁,最后按 PIN 排序,再次按有效和解锁排序。
是否可以在一个查询中像这样排序?谢谢。
最佳答案
select * from your_table
order by case when type in ('CPI','CPA') then 1
when type = 'CPE' then 2
when type = 'PIN' then 3
end,
valid <> 0,
blocked
关于mysql - 如何按照我的需要对 MySQL 查询的结果进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28673658/