[英]MySQL SELECT the 5 most recent IDs
我只是想吐出最近创建的5行(ID),所以我可以将其与另一个数据库进行比较,并通过php更新重复项:
SELECT MAX(ID), MAX(DATE) from table ORDER BY ID LIMIT 5
应该吐出这样的东西:
ID DATE
4018 2012-03-01
4017 2012-03-01
4016 2012-02-25
4015 2012-02-15
4014 2012-02-11
使用DESC
排序首先获取最高值。 我假设您的ID是增量创建的...
SELECT ID, DATE from table ORDER BY ID DESC LIMIT 5
如果出于某些原因,较高的ID没有附带更新的日期,则可以使用它来获取按日期的“真实”排序:
SELECT id, date FROM table ORDER BY date_format(date, '%Y%m%d') DESC LIMIT 5;
链接: http : //dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_date-format
除非需要单行或使用GROUP BY
,否则不应使用MAX
。 您的查询应该简单
SELECT ID, DATE from table ORDER BY ID DESC LIMIT 5
我不了解当前查询。 根据您的描述,您只想按id desc排序结果。 为什么要使用MAX(ID)和MAX(DATE)。 我只记得您DATE是保留关键字。
我认为查询应该是SELECT ID,
DATE FROM table ORDER BY ID DEST LIMIT 5 OFFSET 0
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.