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

标签 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

假设这是一个主题表。只有 user1 和 user 对单个主题回复不止一次(主题 00001 和 00002) 如何选择多次回复某个主题的用户数量,应该从 5 返回 2

最佳答案

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

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

关于mysql - 如何获取具有重复列的行数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7660048/

相关文章:

PHP MYSQL 如果存在则更新,如果不存在则插入?

php - 交易数据库中的多值属性

php - 无法使用 PHPExcel Reader 将字符从 PHP 导入到 MySQL 表

mysql - 在没有文件权限和命令行访问的情况下备份 MySQL 表的最佳方法是什么?

mysql - 表中的自动增量字段和其他主键

php - Doctrine - 查询相关实体的条件

php - 使用 codeigniter 更新表列

mysqli 准备语句日期和子句之间

mysql - 困难的 MySQL 语句

php - 如何在php中实现多线程循环查询分表?