我有sqlite的简单问题。这有什么区别:
Select * from Animals LIMIT 100 OFFSET 50
和
Select * from Animals LIMIT 100,50
这两种语法形式有点混乱,因为它们反转数字:
原文链接:https://www.f2er.com/sqlite/198394.htmlLIMIT <skip>,<count>
相当于:
LIMIT <count> OFFSET <skip>
它与MysqL和Postgresql的语法兼容。 MysqL支持这两种语法形式,它的docs声称第二种语法与OFFSET是为了提供与Postgresql的兼容性。 Postgresql docs显示它只支持第二种语法,而SQLite’s docs表明它支持两种语法,建议第二种语法避免混淆。
顺便说一句,使用LIMIT而不使用ORDER BY可能不会总是给你的结果。在实践中,sqlite将以某种顺序返回行,可能由它们如何物理存储在文件中。但这并不一定意味着它是按你想要的顺序。获得可预测顺序的唯一方法是明确使用ORDER BY。