如何用SQL按user_id统计使用休假功能的用户占比?
计算使用休假功能的用户占比
给定数据表,time_off_used字段取值为1表示用户使用了休假功能,0表示未使用,需计算使用该功能的用户占比(结果为单个数值)。
数据表结构及数据
| role | user_id | time_off_used |
|---|---|---|
| Admin | 45ds4f5d4sfd5s5fd5s4dfg | 0 |
| Admin | 45ds5f4ds5sdf45dfs5sdgfgf | 1 |
| Regular | 45ds4f5d4sfd5s5fd5s4dfg | 0 |
| Admin | dh454hkd564khdg564kd6fgjg | 1 |
| Project manager | sgj3js32jgfsj1s2jss1jgssg54 | 1 |
| Admin | 45ds5f4ds5sdf45dfs5sdgfgf | 1 |
| Regular | 45d34frty5d4sfd5s5fd5s4dfg | 0 |
| Admin | dhy556gd564khdg564kd6fgjg | 1 |
| Project manager | sgj3js32jgfsj1s2jss1jgssg54 | 1 |
计算步骤
- 去重统计总用户数:
数据表中共有6个唯一用户ID。 - 统计使用休假功能的用户数:
其中time_off_used至少为1的用户有4个。 - 计算占比:
占比 = (使用用户数 / 总用户数) × 100 ≈ (4/6)×100 ≈ 67
最终结果
67
内容的提问来源于stack exchange,提问作者Aleksandra Milicevic
相关产品推荐
相关产品推荐

