同一张表 COUNT GROUP BY 和 select 如何合并成一条语句?

tb 表的结构:

ab
12
12
13

我想得到如下数据:

abnum(a,b列相同的行数)
122
122
131
SELECT COUNT(*) as num FROM tb GROUP BY a,b

SELECT * from tb

请问如何用一句sql写出来呢?

阅读 2.9k
2 个回答

select a,b,count(*)as count from test group by a,b

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

手机码了一下,使用子查询。
select t1.a, t1.b, t2.num
from
(
select a, b from tb
) as t1
left join
(
select a, b, count(1) as num from tb group by a,b
) as t2 on t2.a = t1.a and t2.b = t1.b
;

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题