2012-07-29 48 views
2

我有一个SQL查询如下:如何选择最新的X项在SQL数据库

SELECT * FROM `mytable` WHERE 'myfield' = false 

如何选择最新的X项,例如最新的10?

我该如何格式化SQL?

+1

10个最新插入的行?你有储存插入时间的'DATETIME'或'TIMESTAMP'列吗? – 2012-07-29 14:25:42

+0

...或至少一个自动递增的id列?按照@ypercube的建议,如果没有那个订单或日期,表格顺序并不是确定性的。 – 2012-07-29 14:27:33

回答

7

除非在该表中有一些表示插入/更新时间的字段,否则不能这样做。你需要类似的东西来添加ORDER BY... LIMIT 10子句。另一种选择是使用AUTO_INCREMENT属性(也许是主键?)的数字字段。

RDBMS没有义务按特定顺序返回行(并且依赖它是错误的),除非您明确指定。

相关问题