我有一个表events
,其中包含timestamp
。
我想SELECT
两个事件,即下一个事件和过去的最后 8 个事件。
对于两个不同的查询,它将是:
1)
SELECT * FROM events WHERE timestamp > timeNow ORDER BY timestamp LIMIT 0,2
2)
SELECT * FROM events WHERE timestamp < timeNow ORDER BY timestamp DESC LIMIT 0,8
是否可以只进行一次查询?
谢谢
最佳答案
SELECT * FROM events WHERE timestamp > timeNow ORDER BY timestamp LIMIT 2
UNION ALL
SELECT * FROM events WHERE timestamp < timeNow ORDER BY timestamp DESC LIMIT 8;
此外,请记住LIMIT 8
相当于LIMIT 0, 8
。这样做的原因是 LIMIT 0, 8
的意思是“从第 0 行开始并将返回的行数限制为 8”
关于mysql - ORDER BY 和 LIMIT 2 个不同的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16853304/