Heim >Datenbank >MySQL-Tutorial >mysql group by 组内排序

mysql group by 组内排序

WBOY
WBOYOriginal
2016-06-07 15:35:031439Durchsuche

有数据表 comments ------------------------------------------------ | id | newsID | comment | theTime | ------------------------------------------------ | 1 | 1 | aaa | 11 | ------------------------------------------------ | 2 | 1 | bbb | 1


有数据表 comments
------------------------------------------------
| id | newsID | comment | theTime |
------------------------------------------------
| 1  |        1      |         aaa    |     11       |
------------------------------------------------
| 2  |        1      |         bbb    |     12       |
------------------------------------------------
| 3  |        2      |         ccc     |     12       |

------------------------------------------------

newsID是新闻ID,每条新闻有多条评论comment,theTime是发表评论的时间

现在想要查看每条新闻的最新一条评论:


select * from comments group by newsID 显然不行


select * from comments group by newsID order by theTime desc 是组外排序,也不行


下面有两种方法可以实现:

(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)
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:得到SQLServer当前运行的语句Nächster Artikel:SQLSERVER 2012之AlwaysOn