热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

mysqlgroupby组内排序

mysqlgroupby组内排序有数据表comments------------------------------------------------|id|newsID|comment|theTime|------------------------------------------------|1|...

mysql group by组内排序
 
有数据表 comments
------------------------------------------------
| id | newsID | comment | theTime |
------------------------------------------------
| 1  |        1      |         aaa    |     11       |
------------------------------------------------
| 2  |        1      |         bbb    |     12       |
------------------------------------------------
| 3  |        2      |         ccc     |     12       |
------------------------------------------------
  www.2cto.com  
newsID是新闻ID,每条新闻有多条评论comment,theTime是发表评论的时间
 
现在想要查看每条新闻的最新一条评论:
 
select * from comments group by newsID 显然不行
 
select * from comments group by newsID order by theTime desc 是组外排序,也不行
 
下面有两种方法可以实现:
  www.2cto.com  
(1)
selet tt.id,tt.newsID,tt.comment,tt.theTime from(  
select id,newsID,comment,theTime from comments order by theTime desc) as tt group by newsID 
 
(2)
select id,newsID,comment,theTime from comments as tt group by id,newsID,comment,theTime having
 theTime=(select max(theTime) from comments where newsID=tt.newsID)
 

推荐阅读
author-avatar
仔仔衰才_887
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有