达梦数据库现有 考勤人数 CHECK_WORKS 考勤日期 REPORT_DATE 主键 id 我该如何查出上个月考勤天数平均人数未达标的id 平均考勤达标要求大于80为达标 我只要返回id
时间: 2024-05-15 11:16:05 浏览: 8
以下是一种可能的SQL查询语句,可以查出上个月考勤天数平均人数未达标的id:
```
SELECT id
FROM CHECK_WORKS
WHERE REPORT_DATE >= DATE_TRUNC('month', CURRENT_DATE - INTERVAL '1' MONTH)
AND REPORT_DATE < DATE_TRUNC('month', CURRENT_DATE)
GROUP BY id
HAVING AVG(CASE WHEN CHECK_WORKS = '出勤' THEN 1 ELSE 0 END) / COUNT(DISTINCT REPORT_DATE) < 0.8
```
解释:
- `DATE_TRUNC('month', CURRENT_DATE - INTERVAL '1' MONTH)` 表示上个月的月初日期;
- `DATE_TRUNC('month', CURRENT_DATE)` 表示本月的月初日期;
- `AVG(CASE WHEN CHECK_WORKS = '出勤' THEN 1 ELSE 0 END) / COUNT(DISTINCT REPORT_DATE)` 表示每个人上个月的考勤天数平均值;
- `HAVING AVG(...) < 0.8` 表示筛选出平均考勤达标要求大于80为达标的人。
请注意,以上语句仅供参考,具体实现可能需要根据实际情况进行调整。
相关问题
达梦数据库现有 考勤人数 CHECK_WORKS 考勤日期 REPORT_DATE 主键 id 我该如何查出上个月考勤天数平均人数未达标的id 平均考勤达标要求大于80为达标
以下是一种可能的解决方案:
```
SELECT id, COUNT(*) AS attendance_days, AVG(CHECK_WORKS) AS average_attendance
FROM 表名
WHERE REPORT_DATE >= DATEADD(month, -1, GETDATE()) AND REPORT_DATE < GETDATE()
GROUP BY id
HAVING AVG(CHECK_WORKS) < 80
```
解释:
1. WHERE 子句限制了查询的时间范围为上个月。
2. GROUP BY 子句根据 id 进行分组,统计每个 id 的考勤天数和平均考勤。
3. HAVING 子句筛选出平均考勤达标要求小于 80 的 id。
需要注意的是,这只是一种可能的解决方案,具体的查询语句可能因数据库结构和数据特点而有所不同。
mysql考勤系统设计函数_Mysql实战之员工考勤系统数据库建立
好的,我可以为您介绍一下如何设计一个基本的员工考勤系统数据库。
在这个系统中,我们需要考虑以下几个实体:
1. 员工:员工信息包括员工ID、姓名、性别、职位、部门等。
2. 考勤记录:考勤记录包括考勤ID、员工ID、考勤日期、上班时间、下班时间等。
3. 假期记录:假期记录包括假期ID、员工ID、开始日期、结束日期等。
基于以上实体,我们可以设计如下的数据库表:
1. employee表:存储员工信息,包括employee_id、name、gender、position、department等字段。
2. attendance表:存储考勤记录,包括attendance_id、employee_id、attendance_date、start_time、end_time等字段。
3. holiday表:存储假期记录,包括holiday_id、employee_id、start_date、end_date等字段。
除此之外,我们还可以设计一些函数来方便系统的使用,比如:
1. 计算每个员工的迟到、早退、旷工等情况。
2. 计算每个员工的请假天数、剩余假期天数等。
3. 生成考勤报表、假期报表等。
以上就是一个基本的员工考勤系统数据库的设计,您可以根据实际需求进行修改和完善。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)