0

一段时间以来,我一直在尝试从 MySQL 数据库中收集一些数据。

问题是我想在objectid只获取最新数据(降序)的同时对数据进行分组。

每次我尝试它,我要么得到一个错误,要么它没有下降。

我目前的查询是:

SELECT * FROM 'table' GROUP BY 'objectid' DESC

我试过按idor排序timestamp,但结果是升序的。

我的问题类似于:http://stackoverflow.com/questions/7306082/mysql-using-group-by-and-desc

但是,那里提供的答案并没有解决我的问题。

提前致谢!

4

3 回答 3

2

您还必须指定ORDER BY子句进行排序:

SELECT * FROM 'table' GROUP BY 'objectid' ORDER BY timestamp DESC
于 2013-05-27T10:02:23.270 回答
0

你的查询是错误的,你应该做backticks而不是single quotes 你错过了按陈述订购

尝试这个

     SELECT * FROM `table` GROUP BY `objectid` Order by id DESC
于 2013-05-27T10:01:55.293 回答
0

这将为您提供每个 ObjectId 的最新条目,按时间降序排列;它只是简单地离开连接以查找不存在相同 ObjectId 的新条目的所有条目

SELECT a.* 
FROM table1 a
LEFT JOIN table1 b
  ON a.ObjectId=b.ObjectId 
 AND a.time < b.time
WHERE b.ObjectId IS NULL
ORDER BY time DESC

一个用于测试的 SQLfiddle

于 2013-05-27T10:15:11.443 回答