对于给定的表格
a b c
---|---|---
1 2 3
1 4 5
2 6 7
查询
SELECT
COUNT(a) as d
GROUP BY
a
返回
d b c
---|---|---
2 2 3
1 6 7
我希望b
和c
列值保持可见。我需要使用COUNT
,但如果不使用GROUP BY
则不可能。 有没有办法从起始表中获得以下结果:
d b c
---|---|---
2 2 3
2 4 5
1 6 7
d
列值表示COUNT(a)
将返回的行,而不会卷起(分组)行。
答案 0 :(得分:1)
drop table if exists t;
CREATE TABLE t (a int, b int, c int);
Insert Into t values
(1, 2 , 3),
( 1, 4 , 5),
( 2 , 6 , 7);
select d, b, c
from t
left join
(SELECT a, COUNT(a) as d
from t
GROUP BY a) t1
on t1.a = t.a