mysql - SQL查询: how to perform multiple count comparison inside one table

标签 mysql sql

假设我有一个这样的表:

购买(cid:整数,pid:整数,日期)

此表中的每一行代表一次购买,即 id cid 的客户在 day 指定的日期和时间购买了 id pid 的产品的事件。

我想找到购买每种产品相同次数的客户的所有 cid。例如,如果客户购买了 3 次商品 101,则该客户还必须购买 3 次她购买的任何其他商品。

最佳答案

您可以使用MOD函数查看每个cid的总行数与不同pid的除法的余数是否为0。

select cid
from buys
group by cid
having MOD(count(*),count(distinct pid)) = 0

关于mysql - SQL查询: how to perform multiple count comparison inside one table,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41112610/

相关文章:

sql - ORACLE 如何使用带有动态线轴位置的线轴

mysql - 我无法删除 mysql 中以 pound '#' 结尾的数据库

java - 轻量级自制 Java MySQL 连接池 - 它可以工作吗?

mysql - 将 Mysql CASE select 语句结果存储在一个变量中

mysql - 执行动态数据透视表 MySQL 时出错

php - 显示来自内部联接的名称

php - PDO : prepare with bindvalue and like %

sql - 进度 dbtool 错误

python - 在 Windows 8 中从 .sql 文件创建 sqlite3 数据库

mysql - SQL 首先按字母顺序排序,然后通过自定义 bool 列排序