首页  >  问答  >  正文

选择多列时将分组限制为 1 列

我有一个评论表

comment_id when_added
10 2022年2月23日
21 2022年2月23日
10 2022年2月24日

我需要获取计数、comment_id 和最新的when_added

comment_id when_added 计数
10 2022年2月24日 2
21 2022年2月23日 1

我尝试了这个查询

SELECT COUNT(*) as count, comment_id, when_added 
FROM comment 
GROUP BY comment_id, when_added 
ORDER BY when_added DESC;

有没有办法只使用comment_id进行分组?

P粉766520991P粉766520991202 天前293

全部回复(1)我来回复

  • P粉617597173

    P粉6175971732024-03-31 00:19:24

    您应该仅按 comment_id 进行分组,并使用 MAX() 聚合函数获取每个 comment_id 的最后一个 when_added

    SELECT comment_id, 
           MAX(when_added) last_when_added, 
           COUNT(*) count
    FROM comment 
    GROUP BY comment_id 
    ORDER BY last_when_added DESC;

    回复
    0
  • 取消回复