mysql - N :M MySQL relation 中的 DISTINCT 和 COUNT

标签 mysql group-by

我有一个 N:M 关系,用于连接客户和购买 Customer_id,Purchase_id 。我想知道每个特定用户通过一次查询进行了多少次购买。

我尝试过这个:

SELECT DISTINCT(Customer_id) AS ID,COUNT(Purchase_id) AS P FROM CustomerPruchases;

但它只为我提供了数据库中第一个客户的一行。我想要给所有人。

最佳答案

如果您进行分组,则像 count() 这样的聚合函数将应用于每个组,而不是整个表

SELECT Customer_id as ID, 
       COUNT(Purchase_id) AS P_COUNT
FROM CustomerPruchases
group by ID

关于mysql - N :M MySQL relation 中的 DISTINCT 和 COUNT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36990671/

相关文章:

java - Sqoop,Java中将HDFS导出到MySQL

python - Pymysql插入不起作用

mysql - 分组依据以查找 SQL 中特定索引的平均差异

mysql - 这个多重self JOIN可以优化吗?

mysql - 删除MySQL日志文件会影响数据库的性能吗?

sql-server - 按最新排序,但按另一个 ID 列放在一起

mysql - 检索每组中的最后一条记录 - MySQL

mysql - 按年份区间对行进行分组

MySQL 使用 max 选择详细信息

MySQL:SQL 仅返回一个字段的三个结果