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

时间:2011-07-30 06:02:48

标签: mysql

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

SELECT * FROM permlog WHERE max(id)

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

9 个答案:

答案 0 :(得分:58)

SELECT * FROM permlog ORDER BY id DESC LIMIT 0, 1

答案 1 :(得分:21)

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

SELECT MAX(ID) FROM tablename

答案 2 :(得分:19)

对于MySQL:

SELECT *
FROM permlog
ORDER BY id DESC
LIMIT 1

您希望将行从最高到最低id排序,因此ORDER BY id DESC。然后你只想要第一个LIMIT 1

  

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

答案 3 :(得分:14)

SELECT *
FROM permlog
WHERE id = ( SELECT MAX(id) FROM permlog ) ;

如果id列未被限制为唯一,则会返回id最高的所有行。

答案 4 :(得分:1)

从TABELNAME中选择MAX(id)

这将标识最大的id并返回值

答案 5 :(得分:1)

假设您有多个记录,用于同一日期或leave_type,但具有不同的id,并且您想要同一日期或leave_type的id的最大数目,因为我也很讨厌这个问题, 所以可以,您可以使用以下查询进行操作:

select * from tabel_name where employee_no='123' and id=(
   select max(id) from table_name where employee_no='123' and leave_type='5'
)

答案 6 :(得分:1)

SELECT MAX(ID) FROM tablename LIMIT 1

使用此查询在MySQL表中查找最高ID。

答案 7 :(得分:0)

这是唯一建议的方法,它实际上选择整个行,而不仅是max(id)字段。它使用一个子查询

SELECT * FROM permlog WHERE id =(SELECT MAX(id)FROM permlog)

答案 8 :(得分:0)

SELECT * FROM `permlog` as one
RIGHT JOIN (SELECT MAX(id) as max_id FROM `permlog`) as two 
ON one.id = two.max_id