如何合并 COUNT GROUP BY 和 SELECT 语句?
在对同一张表同时执行 count group by 和 select 操作时,可以考虑以下合并语句的方法:
可以使用 select 子句同时获取数据和计数:
select t1.a, t1.b, count(*) as count from test as t1 group by t1.a, t1.b
这将产生一组新的记录,其中包含原始表中的列以及用于分组的列的计数。
合并 left join
另一种方法是执行 left join,将原始表与分组表联系起来:
select t1.a, t1.b, t2.count from test as t1 left join ( select a, b, count(*) as count from test group by a, b ) as t2 on t1.a = t2.a and t1.b = t2.b
left join 将确保所有原始行都包含在其结果集中,其中来自分组表的计数将附加到具有匹配列值的行的末尾。