ORDER BY和LIMIT 2个不同的参数

时间:2013-05-31 08:45:26

标签: mysql limit


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

是否可以只进行一次查询?

由于

1 个答案:

答案 0 :(得分:1)

尝试UNION or 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”