Sqlite得到最大ID不工作(?)

Edi*_*lot 3 sql sqlite select

我用这个:

SELECT * 
WHERE id=MAX(id) 
FROM history;
Run Code Online (Sandbox Code Playgroud)

但我的查询是空的.我也试过这个(这个有效):

SELECT MAX(id) AS max_id 
FROM history;
Run Code Online (Sandbox Code Playgroud)

但显然我的查询只包含max_id键.我第一个错在做什么?

das*_*ght 20

您需要添加另一个级别selectMAX,就像这样:

SELECT * 
WHERE id=(SELECT MAX(id) from history)
FROM history;
Run Code Online (Sandbox Code Playgroud)

更好的方法是按id降序排序,并将输出限制为单行:

SELECT *
FROM history
ORDER BY id DESC
LIMIT 1
Run Code Online (Sandbox Code Playgroud)