gpt4 book ai didi

mysql - sql选择现在之前的最大日期

转载 作者:行者123 更新时间:2023-11-29 02:46:47 24 4
gpt4 key购买 nike

我得到的表格中的日期可能早于 now()。我想获得低于 now() 日期的最大值以及相应的行。我试图首先获取 now() 之前的日期,然后从中获取最大值。

我自己想出了:

select sub.*,MAX(sub.DATE)
From (
SELECT s.id_series,s.name,e.title,e.DATE
FROM episodes e
JOIN series s ON s.id_series=e.id_series
WHERE e.DATE < now()
) as sub
JOIN episodes ep on sub.id_series=ep.id_series
GROUP BY sub.name;

我只得到正确的最大日期,但相应的行是错误的。有帮助吗?

最佳答案

如果您还想要其余的值,最简单的方法是使用 exists:

SELECT s.id_series,s.name,e.title,e.DATE
FROM episodes e
JOIN series s ON s.id_series=e.id_series
WHERE e.DATE < now() AND NOT EXISTS (
SELECT *
FROM episodes e2
WHERE e2.id_series = e.id_series AND e2.DATE > e.DATE AND e2.DATE < now()
)

如果没有大于当前选中的值且小于now()的值,则为now()之前的最大值。

关于mysql - sql选择现在之前的最大日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41081504/

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