我不会说英语,但我会尝试解释我的问题:
我有这个。
col | col 1 | col 2 | col 3
kar a a2 D
kar a a2 E
kar a a2 D
fer b b2 F
fer b b2 E
fer b b2 D
jose a a2 G
jose a a2 G
我需要得到这样的结果:只有在col3中有多个值的人并计算他们有多少不同的值,如下所示:
col | col 1 | col 2 | count
kar a a2 2
fer b b2 3
Jose不在结果中,因为他在col3列中有一个unic值。
我有这个问题,但我不知道计数和分组的行数
SELECT t.*
FROM tablafinal t join
(SELECT COL1, COL2
FROM tablafinal
GROUP BY COL1, COL2
HAVING COUNT(distinct COL3) > 1
) cols
on t.COL1 = cols.COL1 and t.COL2 = cols.COL2
结果:
col | col 1 | col 2 | col 3
kar a a2 D
kar a a2 E
kar a a2 D
fer b b2 F
fer b b2 E
fer b b2 D
以第3列为第3组,对于" kar"和" fer"在一行中:c
我正在使用MYSQL
感谢
答案 0 :(得分:1)
尝试:
SELECT col, col1, col2, count(distinct col3) as counts
FROM mytable
GROUP BY col, col1, col2
HAVING count(distinct col3) > 1