我必须选择符合的一行condition1 OR condition2
。然而,condition1
是优选的。如果有两行,第一行相交的位置condition1
(并且不满足条件2)并且第二个满足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 子句来做到这一点。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)