0


我有一个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

是否可以只做一个查询?

谢谢

4

1 回答 1

1

尝试UNION 或 UNION ALL

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”

于 2013-05-31T08:51:50.933 回答