unu*_*tbu 220
您可以使用子选择:
SELECT row
FROM table
WHERE id=(
SELECT max(id) FROM table
)
Run Code Online (Sandbox Code Playgroud)
请注意,如果值max(id)
不唯一,则返回多行.
如果你只想要一个这样的行,请使用@MichaelMior的答案,
SELECT row from table ORDER BY id DESC LIMIT 1
Run Code Online (Sandbox Code Playgroud)
Mic*_*ior 141
你也可以这样做
SELECT row FROM table ORDER BY id DESC LIMIT 1;
Run Code Online (Sandbox Code Playgroud)
这将按行ID按降序对行进行排序,并返回第一行.这与返回具有最大ID的行相同.这当然假设id
在所有行中都是唯一的.否则可能有多行具有最大值id
,您只能得到一行.
Rus*_*ton 25
SELECT *
FROM table
WHERE id = (SELECT MAX(id) FROM TABLE)
Run Code Online (Sandbox Code Playgroud)
小智 17
你不能给,order by
因为order by
在桌子上进行"全扫描".
以下查询更好:
SELECT * FROM table WHERE id = (SELECT MAX(id) FROM table);
Run Code Online (Sandbox Code Playgroud)