我只是想吐出最近创建的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
答案 0 :(得分:4)
使用DESC
排序首先获得最高值。我假设您的ID是逐步创建的......
SELECT ID, DATE from table ORDER BY ID DESC LIMIT 5
答案 1 :(得分:3)
如果出于某些原因,较高的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
答案 2 :(得分:2)
除非您想要单行或使用MAX
,否则不应使用GROUP BY
。您的查询应该只是
SELECT ID, DATE from table ORDER BY ID DESC LIMIT 5
答案 3 :(得分:0)
我不了解当前的查询。根据您的描述,您只需要通过id desc订购结果。为什么使用MAX(ID)和MAX(DATE)。我只记得你DATE是一个保留的关键字。
我认为查询应为SELECT ID,
DATE FROM table ORDER BY ID DEST LIMIT 5 OFFSET 0