mysql - 获取一年内完成的数据

标签 mysql

我需要从项目中获取在 1 年内完成的日期。我的项目表包含“Sdate”和“Edate”,我需要用它来查找在 1 年内完成的数据如何在一年内获取数据。例如我需要获取在 1 年内完成项目的数据(不同的是在 1 年内)

这是我试过的

SELECT
    concat(FName, ' ', LName) AS NAME
FROM
    Employee
WHERE
    EXISTS (
        SELECT
            DATE_SUB(Sdate, INTERVAL 1 YEAR) AS DIFF
        FROM
            Project
    );

最佳答案

您可以根据您的表列名称更改联接字段并尝试以下查询 -

SELECT
    concat(e.FName, ' ', e.LName) AS NAME
FROM
    Employee e
JOIN project p ON e.employeeId = p.employeeId
WHERE
    p.Sdate >= DATE_SUB(p.Edate, INTERVAL 1 YEAR)
GROUP BY
    e.id;

如果你想使用 exists 函数,那么使用下面的查询-

select concat(e.FName , ' ' , e.LName) as name
From Employee e
where exists(select * from product p where e.employeeId=p.employeeId and p.Sdate >= DATE_SUB(p.Edate,INTERVAL 1 YEAR))  group by e.id;

关于mysql - 获取一年内完成的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46902211/

相关文章:

mysql - SQL - 计算项目的百分比

java - 如何将 Swing 设计与类分离,以便之后代码可以轻松转换为 Android

php - 使用 SQL LIKE 子句

sql - 如何在左连接分支内强制连接?

mysql - 如何在注册期间为用户创建特定的 URL?

mysql - SQL |如何根据记录id和另一列获取所有记录ID? (可能是简单的问题:) )

php - 在特定查询中对同一字段的结果集进行排序

php - 使用 Range 从两个表中获取数据

php - MySQL 到 SQL Server : The conversion of a nvarchar data type to a datetime

mysql - Laravel Eloquent 查询预订