gpt4 book ai didi

php - 如何使用带有 CONVERT_TZ() 的 MySQL 获取每天的最后一个条目

转载 作者:行者123 更新时间:2023-11-30 23:36:48 26 4
gpt4 key购买 nike

所以我使用这段代码从数据库中获取每天的最后一个条目。

SELECT a.id, a.userid, a.jurisdiction, a.country, a.date
FROM dk_location_records AS a,
(SELECT userid, DATE(date) AS just_date, MAX(date) AS date
FROM dk_location_records
GROUP BY 1, 2 --userid, DATE(date)
) AS b
WHERE a.userid = b.userid
AND a.date = b.date;

我的问题是,我如何合并类似这样的内容:CONVERT_TZ( date, '+00:00', '+01:00' ) 以获取不同时区每天的最后一个条目.到目前为止,我已经设法使用 CONVERT_TZ 来简单地显示转换后的日期。但是,您可以同时使用 MAX()CONVERT_TZ() 吗?

最佳答案

如果您想在极端情况下选择单行,您可以尝试按所需条件对结果集进行排序并将输出限制为单行。一些东西,也许,比如

SELECT a.id, a.userid, a.jurisdiction, a.country, a.date
ORDER BY CONVERT_TZ( date, '+00:00', '+01:00') DESC
LIMIT 1

它应该比执行子查询表扫描要快得多。

尽管如此,我可能误解了您在这里尝试做的事情。转换时区不会改变日期的顺序。如果您想在另一个时区的一天内搜索条目,可以尝试

SELECT a.id, a.userid, a.jurisdiction, a.country, a.date
WHERE CAST(CONVERT_TZ(a.date, '+00:00', '+01:00') AS DATE) = CURDATE()
ORDER BY a.date DESC
LIMIT 1

当然,修改'+01:00'(目的地时区)和CURDATE()(您要搜索的日期)以满足您的需要。

关于php - 如何使用带有 CONVERT_TZ() 的 MySQL 获取每天的最后一个条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6728342/

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