gpt4 book ai didi

MYSQL 获取某个日期小于给定值的所有结果

转载 作者:行者123 更新时间:2023-11-28 23:23:37 34 4
gpt4 key购买 nike

我有如下表格

Eid  joinDate

1 01-01-2016
2 01-01-2016
3 28-02-2016
4 28-02-2016
5 28-02-2016
6 15-02-2016
7 15-02-2016

我想获取最近日期的所有结果,其中有数据。

例如:如果我输入“28-02-2016”,那么结果应该是

3    28-02-2016
4 28-02-2016
5 28-02-2016

如果我输入“18-02-2016”,结果应该是

1    15-02-2016
2 15-02-2016(Most recent from 18-02-2016)

我尝试了以下查询,但它只返回一个结果。

select Eid,max(joinDate) from Employee where joinDate<='18-02-2016' 

但是这个查询并没有返回所有的结果。此外,如果我使用 group by 那么它将返回所有小于 18-02-2016 的结果

请问还有其他方法可以实现吗

最佳答案

你可以使用 LEFT JOIN 来完成:

SELECT t1.Eid,
t1.joinDate
FROM Employee AS t1
LEFT JOIN Employee AS t2 ON t2.joinDate > t1.joinDate
AND t2.joinDate <= '2016-02-16'
WHERE t1.joinDate <= '2016-02-16'
AND t2.Eid IS NULL

SQL Demo here

关于MYSQL 获取某个日期小于给定值的所有结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40405130/

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