簡而言之,我有一個表格,其中包含時間戳列。我想獲得最新(即最大值)時間戳的行。目前,我這樣做:SQLite中WHERE子句中的聚合函數
SELECT * FROM table ORDER BY timestamp DESC LIMIT 1
但我寧願做這樣的事情:
SELECT * FROM table WHERE timestamp=max(timestamp)
然而,SQLite的拒絕此查詢:
SQL error: misuse of aggregate function max()
的documentation證實了這一點行爲(頁面底部):
聚合函數只能在SELECT語句中使用。
我的問題是:是否有可能編寫一個查詢來獲取具有最大時間戳的行而無需對select進行排序並將返回行數限制爲1?這似乎應該是可能的,但我想我的SQL-fu並不適合。
工程很漂亮,謝謝。我知道這一定很簡單。 – 2008-12-24 01:06:22
只是好奇,子查詢是否會導致sqlite處理該表兩次,或者被優化了嗎? – 2008-12-24 02:30:58