sql按月分组,计算每月请假占比
时间: 2025-01-27 07:12:29 AIGC 浏览: 30
要在SQL中按月分组并计算每月请假占比,可以使用以下步骤:
1. 假设有一个表`leave_requests`,其中包含字段`employee_id`(员工ID)、`leave_date`(请假日期)和`leave_type`(请假类型)。
2. 使用`DATE_FORMAT`函数将日期格式化为年月格式。
3. 使用`COUNT`函数计算每月的请假次数。
4. 使用子查询或窗口函数计算每月的总请假次数。
5. 计算每月请假占比。
以下是一个示例SQL查询:
```sql
SELECT
DATE_FORMAT(leave_date, '%Y-%m') AS month,
COUNT(*) AS leave_count,
(COUNT(*) / (SELECT COUNT(*) FROM leave_requests WHERE DATE_FORMAT(leave_date, '%Y-%m') = month)) * 100 AS leave_percentage
FROM
leave_requests
GROUP BY
month
ORDER BY
month;
```
这个查询的步骤如下:
1. `DATE_FORMAT(leave_date, '%Y-%m')`将请假日期格式化为年月格式。
2. `COUNT(*)`计算每月的请假次数。
3. 子查询`(SELECT COUNT(*) FROM leave_requests WHERE DATE_FORMAT(leave_date, '%Y-%m') = month)`计算每月的总请假次数。
4. `(COUNT(*) / (SELECT COUNT(*) FROM leave_requests WHERE DATE_FORMAT(leave_date, '%Y-%m') = month)) * 100`计算每月请假占比。
阅读全文
相关推荐













