如何在MySQL中选择ID最高的行?

use*_*380 42 mysql

如何在MySQL中选择ID最高的行?这是我目前的代码:

SELECT * FROM permlog WHERE max(id)
Run Code Online (Sandbox Code Playgroud)

错误出现了,有人可以帮助我吗?

bad*_*d99 67

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

  • 没有特别的原因,LIMIT 1和LIMIT 0都是有效的.虽然它显示你可以SELECT*FROM permlog LIMIT 1,1获得第二高. (6认同)
  • 为什么是LIMIT 0、1而不是LIMIT 1? (2认同)
  • `LIMIT 0,1` 和 `LIMIT 1` 做同样的事情。第一个包括行限制的偏移量。(跳过0,得到后面的1) (2认同)

TD_*_*oer 26

如果它只是你想要的最高ID.和ID是唯一的/ auto_increment:

SELECT MAX(ID) FROM tablename
Run Code Online (Sandbox Code Playgroud)

  • @Sliq实际上它只返回1行(或1个值),所以LIMIT 1是多余的! (2认同)

mu *_*ort 20

对于MySQL:

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

您想要从最高到最低排序行id,因此ORDER BY id DESC.那么你只想要第一个LIMIT 1:

LIMIT子句可用于约束SELECT语句返回的行数.
[...]
使用一个参数,该值指定从结果集的开头返回的行数


Moh*_*han 13

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

这将返回具有最高行的所有行id,以防id不将列限制为唯一.