我需要按照
的方式编写SQL预取器SELECT * WHERE id == x OR id >= y LIMIT 100 FROM ...
我需要包含结果id == x,而其他结果只是奖金。这可能吗?如果没有,我在想如果id被排序,并且返回的结果在它们的排序中,我仍然可以以保证包含id == x的方式进行查询。但可能很棘手。
编辑:所以答案(来自rbm)是这样的:
(SELECT * WHERE id == x)
UNION
(SELECT * WHERE id > y LIMIT 100)
注意:我可能有+ -1个结果
答案 0 :(得分:2)
如果您需要包含id = x,请执行以下操作:
'((h i)(h e l l o))
答案 1 :(得分:1)
After putting it to SQL syntax, it would look like :
SELECT *
FROM ...
WHERE id = x OR id >= y
ORDER BY CASE WHEN id = x THEN 0 ELSE 1 END ASC
LIMIT 100
EDIT : Reminder: Limit is applied after order.