`SELECT * FROM Post
WHERE Tid = Id
ORDER BY Time
LIMIT 0,1`
`SELECT * FROM Post
WHERE Tid = Id
ORDER BY Time
LIMIT start,offset;`
我可以只用一个SELECT来完成吗? 就像
`SELECT * FROM Post
WHERE Tid = Id
ORDER BY Time
LIMIT 0,1 and start,offset;`
答案 0 :(得分:0)
在这种情况下,将两个sql语句组合在一个联合中,因为你不能在一个select中提供多个limit子句:
SELECT * FROM Post LIMIT 1,2
UNION ALL
SELECT * FROM Post LIMIT 5,6;
但是,我会在2个选择语句中添加order by子句,以便100%确定您将知道将选择哪些记录。
更新:从技术上讲,您可以使用正在运行的计数器在单个语句中执行此操作,并在其中的计数器上进行过滤。但是,从性能方面来说,这并不是一个好主意,因为mysql必须遍历表中的所有记录。它无法知道哪些记录符合标准。限制条款是更好的选择。