gpt4 book ai didi

mysql - 正确查询以获取日期时间

转载 作者:行者123 更新时间:2023-11-30 22:25:34 27 4
gpt4 key购买 nike

我有一个包含日期时间字段的表。如何检索今天创建的值?

guest 待定

.-----------------+--------------+-----------------------.
| guestID | Name | date_created |
+-----------------+--------------+-----------------------+
| 1 | Name1 | 2016-02-11 21:32:47 |
| 1 | Name2 | 2016-02-15 20:12:30 |
.-----------------+--------------+-----------------------.

我使用了这个查询,它在日期数据类型中运行良好,但在我使用 dateTime 数据类型时它不起作用。

SELECT *
FROM guests
WHERE date_created BETWEEN DATE_SUB(CURDATE(), INTERVAL 1 DAY)
AND CURDATE();

最佳答案

制定此类查询的最佳方式是同时设置生效日期结束日期。这是一个缓慢变化的维度的最佳实践。

太迟了。因此,您需要在给定日期之前获取每个客人 ID 的最新日期。您可以通过以下方式获得:

select t.guest_id, max(date_created) as maxdc
from t
where t.date_created <= $SOMEDATE
group by t.guest_id;

您可以使用 join 获取完整信息:

select t.*
from (select t.guest_id, max(date_created) as maxdc
from t
where t.date_created <= $SOMEDATE
group by t.guest_id
) tt join
t
on t.guest_id = tt.guest_id and t.date_created = tt.maxdc;

关于mysql - 正确查询以获取日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35341346/

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