首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL GROUP BY和降序

MySQL GROUP BY和降序
EN

Stack Overflow用户
提问于 2013-05-27 17:59:11
回答 3查看 119关注 0票数 0

我尝试从MySQL数据库中收集一些数据已经有一段时间了。

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

每次我尝试它,我要么得到一个错误,或者它不下降。

我现在的疑问是:

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

我尝试过按idtimestamp排序,但结果是升序的。

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

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

提前感谢!

EN

回答 3

Stack Overflow用户

发布于 2013-05-27 18:02:23

您还必须指定用于排序的ORDER BY子句:

代码语言:javascript
复制
SELECT * FROM 'table' GROUP BY 'objectid' ORDER BY timestamp DESC
票数 2
EN

Stack Overflow用户

发布于 2013-05-27 18:01:55

您的查询错误,您应该使用backticks而不是single quotes,并且错过了order by语句

尝尝这个

代码语言:javascript
复制
     SELECT * FROM `table` GROUP BY `objectid` Order by id DESC
票数 0
EN

Stack Overflow用户

发布于 2013-05-27 18:15:11

这将为您提供每个ObjectId的最新条目,按时间降序排序;它只是通过左连接查找不存在相同ObjectId的较新条目的所有条目。

代码语言:javascript
复制
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

An SQLfiddle to test with

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16770683

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档