百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>数据库> 解决mysql group by不能排序方法
分享文章到:

解决mysql group by不能排序方法

发布时间:01/15 来源: 浏览: 关键词:
我们在学习时老师就讲mysql 的group by 没有排序的功能的并且不能与order by 同时使用,那么如果我非要排序怎么办呢,下面我来给大家介绍解决mysql group by不能排序这个问题。

常用的方法

 代码如下
select * from table group by column_name order by id desc

 是不能得到每个分组里面的id的最大的值的


解决方法:

有人写出下面的语句:

 代码如下


SELECT *,max(dateline) as max_line FROM posts GROUP BY  tid ORDER BY dateline DESC LIMIT 10


这条语句的没错是选出了最大发布时间,但是你可以对比一下 dateline 和 max_dateline 并不相等!(可能有相当

的情况,就是分组的目标记录只有一条的时候!)

正确的办法是:

 代码如下

SELECT *,max(dateline) as max_line FROM posts GROUP BY  tid HAVING dateline=max(dateline)ORDER BY

dateline DESC LIMIT 10

select * from (select * from table order by id desc ) t group by column_name order by id desc

这样就

会得到每个分组里面最大的id值了,并且最后的 order by id desc 是再对这些得到的id的值进行排序

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有5人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板