首页 > 解决方案 > 计算不同的出现并添加它们

问题描述

我有下表,| 姓名 | 选择 | |----------------------|------------------| | 约翰 | 1 | | 约翰 | 1 | | 约翰 | 3 | | 亚历克斯 | 3 | | 约翰 | 4 | | 利亚姆 | 2 |

我想找出每个人有多少不同的选择。所以查询后的输出应该是,| 姓名 | numberOfChoices | |----------------------|------------------| | 约翰 | 3 | | 亚历克斯 | 1 | | 利亚姆 | 1 |

我一直在尝试使用GROUP BYINNNER JOIN但似乎无法完成这项工作。有什么建议么?

标签: mysql

解决方案


GROUP BY名称和计数DISTINCT选择

SELECT `Name`, COUNT(DISTINCT `Choice`)
FROM mytable
GROUP BY `Name`

推荐阅读