SQL如何统计用户登录表中各用户使用的不同OS版本数量
解法说明
要统计每个用户使用过的不同OS版本数量,通过分组+去重计数即可实现,查询语句如下:
SELECT user_name 用户名, COUNT(DISTINCT os_ver) 不同OS版本数量 FROM usr_logins GROUP BY user_name;
逻辑说明
- 用
GROUP BY user_name按照用户名对所有登录记录做分组,每个用户对应一组数据 - 用
COUNT(DISTINCT os_ver)对每组内的操作系统版本去重后计数,避免同一用户多次使用同版本OS时重复统计,最终得到每个用户用过的不同OS版本总数。
查询返回结果和预期一致:
| 用户名 | 不同OS版本数量 |
|---|---|
| Ann | 1 |
| Jack | 1 |
| Sam | 2 |
内容的提问来源于stack exchange,提问作者Kosh
相关产品推荐
相关产品推荐

