mysql - 只在mysql中选择周五和即将到来的周一

标签 mysql select dayofweek weekday weekend

我的任务是建立一个考勤系统,我做得很好,但我被困在一个地方。在计算休假时,如果一个人周五请假,周一又请假,那么周六和周日之间也应该算作休假。

我已经能够通过以下查询从我的表中仅提取星期五和星期一:

SELECT * FROM  `main` WHERE (DAYOFWEEK( DATE ) =2 OR DAYOFWEEK( DATE ) =6 ) 
AND emp_no =4 AND STATUS ='leave' ORDER BY DATE ASC 

但我不知道如何选择周五和下周一,所以我知道此人周五和周一都在休假。

如有任何帮助,我们将不胜感激。

最佳答案

这将为您提供跨越周五和下周一的所有“叶子”:

SELECT *
FROM   main fri JOIN main mon
    ON fri.DAYOFWEEK(DATE)=6
   AND mon.DATE = fri.DATE + INTERVAL 3 DAY
   AND fri.emp_no = mon.emp_no
WHERE  fri.STATUS='leave' AND mon.STATUS='leave'

关于mysql - 只在mysql中选择周五和即将到来的周一,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12893875/

相关文章:

batch-file - 获取批处理脚本以打印的问题 keeps given a error about set was unexpected at this time

r - 如何在给定的任意年份中获得去年的相同工作日?

Mysql - 更新+插入json

mysql - 多重连接 Mysql 将 SUM 值加倍

mysql - mysql根据周+dayofweek查找日期

mysql - Zend 框架 - mysql 查询

select - 为什么 Future::select 首先选择 sleep 时间更长的 future ?

mysql - 检测两个时间是否冲突/相交

c# - MySQL synax 插入新数据时出错 c#

javascript - Angularjs - 动态 ng-options