我有一张 comments 表

comment_id when_added
10 02/23/2022
21 02/23/2022
10 02/24/2022

我需要获得计数、注释id,以及添加时的最新信息

comment_id when_added count
10 02/24/2022 2
21 02/23/2022 1

我试过这个问题

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

是否有一种只使用注释id进行分组的方法?

推荐答案

您应该只按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;

Mysql相关问答推荐

如何在循环查询中删除默认架构?

在Join的ON分句中使用SUM()

在联合查询中使用GROUP BY和ORDER BY

如何计算超过特定数字的所有不同ID组,然后返回这些ID?

在MySQL查询中查找和替换表内的值

Select 构成每天聚合 MAX 的各个行

模拟Mysql Cursor类的fetchone()方法,并将其返回值设置为None

是否可以使用 IN 或 NOT IN 从没有关联其他表中任何行的表中返回这些名称?

为大表优化 Django 模型

MySQL:根据条件查找某些用户的行位置

MySQL过滤食谱上的多对多 - 成分表

即使我的约束是正确的,如何解决 errno: 150 外键约束形成错误?

MySQL时区更改?

mysql错误:错误1018(HY000):无法读取'.'的目录(错误号:13)

如何使主键从 1000 开始?

PHP 判断 NULL

如何从两个不同的日期获得年份差异?

如何将数组存储到mysql中?

在osx的命令行中使用Mysql-找不到命令?

MySQL 更新连接表