我必须选择一个满足的行condition1 OR condition2
。但是,condition1
是优选的。如果有两行,则第一行满足condition1
(并且不满足condition2),第二行满足condition2
(并且不满足condition1
),则应该返回第一行。
所以对于SQL:
SELECT * FROM table WHERE col1 = 1 OR col2 = 5 LIMIT 1
它会先返回满足条件的行col1 = 1
吗?还是会以随机顺序返回行?如果是随机的,那我要怎么实现呢?我必须使用这样的东西吗?:
SELECT * FROM table WHERE col1 = 1 OR col2 = 5
ORDER BY (col1 = 1)::boolean DESC LIMIT 1
WHERE子句中条件的顺序不会影响结果的优先级。您必须使用ORDER BY子句来做到这一点。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句