mysql - 计算不同的出现并添加它们
问题描述
我有下表,| 姓名 | 选择 | |----------------------|------------------| | 约翰 | 1 | | 约翰 | 1 | | 约翰 | 3 | | 亚历克斯 | 3 | | 约翰 | 4 | | 利亚姆 | 2 |
我想找出每个人有多少不同的选择。所以查询后的输出应该是,| 姓名 | numberOfChoices | |----------------------|------------------| | 约翰 | 3 | | 亚历克斯 | 1 | | 利亚姆 | 1 |
我一直在尝试使用GROUP BY
,INNNER JOIN
但似乎无法完成这项工作。有什么建议么?
解决方案
GROUP BY
名称和计数DISTINCT
选择
SELECT `Name`, COUNT(DISTINCT `Choice`)
FROM mytable
GROUP BY `Name`
推荐阅读
- java - Heroku 在 java REST API 应用程序启动期间说“进程以状态 0 退出”
- java - 程序卡在while循环中?
- r - 无法通过 R 访问 Google Analytics API 中的自定义维度
- canvas - 如何使用颤振的自定义绘制用 png UI 图像屏蔽小部件
- javascript - Javascript 不会设置在 XHR 响应中收到的 httpcookie
- python - 为什么使用 rpy2 时在 Mac 中不能正确显示绘图?
- android - 有没有办法同时使用limitToLast和limitToFirst?
- excel - CreateObject(“System.Text.StringBuilder”)的VBA自动化错误
- mysql - 使用group_concat后如何计算由','分隔的列的长度
- sql - 子查询需要 67 秒处理,使用临时表是瞬时的