我有一个查询的表,条件类似id >10
,我想根据AND id IN(3,4,5,6,7)
列表中的id添加条件。
我想首先按列表中的id排序结果。 可以吗?
答案 0 :(得分:1)
如果您正在使用MySQL :(请正确标记问题)
来自manual:
<强> FIELD(STR,STR1,STR2,STR3,...) 强>
返回str1,str2,str3,...列表中str的索引(位置)。如果未找到str,则返回0。
如果FIELD()的所有参数都是字符串,则所有参数都将作为字符串进行比较。如果所有参数都是数字,则将它们作为数字进行比较。否则,参数将被比较为double。
如果str为NULL,则返回值为0,因为NULL无法与任何值进行相等比较。 FIELD()是ELT()的补充。
mysql> SELECT FIELD('ej', 'Hej', 'ej', 'Heja', 'hej', 'foo');
-> 2
mysql> SELECT FIELD('fo', 'Hej', 'ej', 'Heja', 'hej', 'foo');
-> 0
所以你可以轻松做到
SELECT
...
ORDER BY FIELD(id, 3,4,5,6,7), id