如何获取具有重复列的行数?

Tar*_*w45 5 mysql

让我们说以下是我的表

id | name | topic | reply
...
1 | user1 | 00001 | yes              ## replied on topic 00001
2 | user2 | 00002 | yes              ** replied on topic 00002
3 | user1 | 00001 | yes              ## replied on topic 00001
4 | user5 | 00001 | no
5 | user1 | 00001 | yes              ## replied on topic 00001
6 | user1 | 00002 | no
7 | user2 | 00002 | yes              ** replied on topic 00002
8 | user3 | 00001 | no
9 | user4 | 00002 | yes
Run Code Online (Sandbox Code Playgroud)

想象一下,这是一个主题表.只有user1和用户多次回复一个主题(主题00001和00002)如何选择多次回复主题的用户数,应该从5回复2

Mar*_*ers 3

这将为您提供对某个主题多次回复的用户数量:

SELECT COUNT(DISTINCT name)
FROM (
    SELECT name
    FROM  yourtable
    WHERE reply = 'yes'
    GROUP BY name, topic
    HAVING COUNT(*) > 1
) T1
Run Code Online (Sandbox Code Playgroud)