假设我有这个MySQL查询:
SELECT * FROM A WHERE x='abc' OR y=0;
如何确定行的优先级,以便x='abc'
首先订购?如果y=0
只有x!='abc'
,我希望这些行来自x='abc'
的情况。
这可以通过简单的ORDER BY子句来完成吗?
谢谢!
答案 0 :(得分:9)
SELECT *
FROM A
WHERE x='abc'
OR y=0
order by case when x='abc' then 0 else 1 end;
答案 1 :(得分:0)
我会用案例陈述来做:
SELECT *,
CASE WHEN column_one = 0 THEN 0
WHEN column_two = 'ADMIN' THEN 1
END AS multi_column
FROM sometable
ORDER BY multi_column;
答案 2 :(得分:0)
ORDER BY FIELD(x,'abc',x)