2012-07-29 42 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沒有義務按特定順序返回行(並且依賴它是錯誤的),除非您明確指定。