我有数据,其中COLUMN_A中的一个值可以对应于COLUMN_B中的许多值,反之亦然。一个小例子:
COLUMN_A | COLUMN_B
===================
A | X
A | Y
A | Z
B | Y
B | Y
C | X
C | X
D | X
D | Z
D | Z
我希望看到COLUMN_A中有多少个唯一实例对应于COLUMN_B中的唯一实例。所以我希望我的输出像这样:
COLUMN_B | # INSTANCES OF COLUMN_A | VALUES IN COLUMN_A
=======================================================
X | 3 | A
X | 3 | C
X | 3 | D
-------------------------------------------------------
Y | 2 | A
Y | 2 | B
-------------------------------------------------------
Z | 2 | A
Z | 2 | D
我似乎无法弄清楚它是否是GROUP BY,一种JOIN,或两者的某种组合。
谢谢。
答案 0 :(得分:3)
按表中的column_b聚合并将其连接到原始表以获取column_a中的相应值。
php
答案 1 :(得分:1)
使用相关的子查询进行计数:
select distinct column_b,
(select count(distinct ca) from tablename t2
where t1.column_b = t2.column_b),
column_a
from tablename t1
order by column_b, column_a;
答案 2 :(得分:0)
使用简单分区
false