gpt4 book ai didi

php - 如何计算当月的 "Sunday"来计算缺勤员工

转载 作者:行者123 更新时间:2023-12-04 08:08:32 26 4
gpt4 key购买 nike

我在计算员工一个月的缺勤率时遇到问题。在我的查询中,它仍然计算本月“星期日”的那一天,这不应该计算在内。
这是使用的示例数据库:
emp0003 表的


尼克
姓名


01190301
苏珊


dvc0004 表的


尼克
注册


01190301
2021-02-08 07:20:39

01190301
2021-02-06 14:37:08

01190301
2021-02-06 07:57:42

01190301
2021-02-05 17:29:00

01190301
2021-02-05 08:09:54

01190301
2021-02-04 19:21:38

01190301
2021-02-04 08:12:44

01190301
2021-02-03 17:44:02

01190301
2021-02-03 08:06:27

01190301
2021-02-02 18:52:15

01190301
2021-02-02 08:02:32

01190301
2021-02-01 20:07:13

01190301
2021-02-01 07:55:49

01190301
2021-01-30 16:20:56

01190301
2021-01-30 07:59:45


这是我的查询 sql:

SELECT
emp0003.NIK,
emp0003.`Name`,
DAY(CURRENT_DATE) - COUNT(
DISTINCT
DATE(LEFT((`dvc0004`.`Enroll`), 10)),
(CASE
WHEN LEFT(( `dvc0004`.`Enroll`), 10)
AND MONTH(LEFT((`dvc0004`.`Enroll`), 10)) = MONTH(CURRENT_DATE())
AND YEAR(LEFT((`dvc0004`.`Enroll`), 10)) = YEAR(CURRENT_DATE())
THEN 1
END)
) AS 'TOTAL ABSENT OF THE MONTH'
FROM emp0003
LEFT JOIN dvc0004 ON emp0003.NIK = dvc0004.NIK
WHERE emp0003.nik = '01190301'
这是我的查询 sql 的结果:


尼克
姓名
本月总缺席


01190301
苏珊
1


结果应该是:


尼克
姓名
本月总缺席


01190301
苏珊
0


因为到目前为止,这个月只过了一个“星期天”

最佳答案

您可以使用以下查询。

SELECT  (total_day_of_month-Total_holiday_till_Now-Total_Valid_Attendance) AS Total_absence FROM
(SELECT SUM(CASE WHEN DAYOFWEEK(dvc0004.Enroll)<>1 then 1 ELSE 0 END) AS Total_Valid_Attendance,
DAY(CURRENT_DATE) AS total_day_of_month,
ROUND((
(unix_timestamp(CURRENT_DATE) - unix_timestamp(DATE_SUB(CURRENT_DATE, INTERVAL DAYOFMONTH(CURRENT_DATE)-1 DAY)) ) /(24*60*60)
-7+WEEKDAY(DATE_SUB(CURRENT_DATE, INTERVAL DAYOFMONTH(CURRENT_DATE)-1 DAY))-WEEKDAY(CURRENT_DATE)
)/7)

+ if(WEEKDAY(DATE_SUB(CURRENT_DATE, INTERVAL DAYOFMONTH(CURRENT_DATE)-1 DAY)) <= 6, 1, 0)
+ if(WEEKDAY(CURRENT_DATE) >= 6, 1, 0) AS Total_holiday_till_Now
FROM emp0003
LEFT JOIN dvc0004 ON emp0003.NIK = dvc0004.NIK
WHERE emp0003.nik = '01190301'
AND MONTH(CURRENT_DATE)=MONTH(dvc0004.Enroll)
AND YEAR(CURRENT_DATE)=YEAR(dvc0004.Enroll) ) AS main_query

关于php - 如何计算当月的 "Sunday"来计算缺勤员工,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66095954/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com