mysql - 如何获取 SELECT 中任何数据的日期

标签 mysql select datediff

我正在尝试做一个总结,如果 SELECT 中有任何数据,就做一个指标从现在开始的过去一天......或者只显示一天( if > 0 : +if < 0 : - )。

像这样:这些是我的 table 。

我们假设,今天是2013-12-25

tb_employee:

   ID_EMP                   EMPLOYEE               
     1                     Employee 1 
     2                     Employee 2 
     3                     Employee 3 

tb_requirement:

ID_REQ                   REQUIREMENT
   1                    Requirement 1
   2                    Requirement 2
   3                    Requirement 3
   4                    Requirement 4

tb_detail:

 ID_DET                   ID_EMP                ID_REQ          EXPIRATION
   1                         1                    1             2013-12-29
   2                         1                    2             2013-12-28
   3                         1                    3             2013-12-31

   4                         2                    2             2014-01-05
   5                         2                    3             2013-12-20
   6                         2                    4             2013-12-15

现在,SELECT QUERY应该像这样显示:

 ID_EMP            EMPLOYEE            REQUIREMENTS_GOT           ANY_REQ_EXPIRE
    1             Employee 1                 3                        YES
    2             Employee 2                 3                         NO

我希望我解释得很好。也许可以与 DATEDIFF 一起使用?

感谢您的回答...当然还有圣诞快乐!

最佳答案

由于您正在尝试确定是否有任何 要求已过期,因此您应该将最短到期日期与今天的日期进行比较。无需使用 datediff - 一个简单的 > 运算符封装在 case 语句中就可以:

SELECT   id_emp, 
         employee, 
         COUNT(*) AS requirements_got,
         CASE WHEN CURDATE() > MIN(expiration) THEN 'yes' ELSE 'no' END AS any_req_expire
FROM     tb_detail
JOIN     tb_employee ON tb_detail.id_emp = tb_employee.id_emp
GROUP BY id_emp, employee

关于mysql - 如何获取 SELECT 中任何数据的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20776084/

相关文章:

php - 在 PHP 中匹配 MySQL 时间

Mysql Datediff 查询

sql - T-SQL - 两个日期之间的总差

mysql - 如何缩进mysql SELECT INTO OUTFILE的结果

mysql - 当使用 UNION 时,ORDER BY 仅影响其中 1 个查询

php - 如何在删除表中的一行时删除所有相关的表记录?

mysql - 从给定日期和 1 周前日期之间的表中获取数据

java - Glassfish 无法连接到 mysql 数据库

mysql - 如何通过对mysql中另一个表中的字段进行分组来从两个不同的表中获取两个字段的计数

mysql - 带有左连接和并集的 SELECT