gpt4 book ai didi

mysql - 根据跨多列的最大日期选择行

转载 作者:行者123 更新时间:2023-11-30 22:32:39 26 4
gpt4 key购买 nike

对于mysql数据库

我有一个表,由于多列中的日期值,该表包含重复的行。我希望根据跨多个日期列评估的最大日期值为每个唯一客户 ID 选择一行

[客户 ID、开始日期、停止日期、修改日期、购买日期]

对于每个客户 ID,我想返回在 startDate、StopDate、modifyDate 或 buyDate 列中具有最大日期的行(日期列中有一些空值。

编辑以包含示例 - 但要确定如何在此处创建表格:

*** 编辑

现在已经尝试了很长一段时间来在这里创建一个带有示例的表。想不通。所以发个图?返回的所需行以红色指示。

enter image description here

最佳答案

假设值永远不会是NULL,您可以使用greatest():

select t.*
from table t
where greatest(t.startDate, stopDate, buyDate) =
(select max(greatest(t.startDate, stopDate, buyDate))
from t t2
where t2.customerid = t.customerid
);

注意:如果不止一行包含最大日期,这将为客户返回多行。

关于mysql - 根据跨多列的最大日期选择行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33446104/

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