gpt4 book ai didi

MySQL 每天返回最后一个值

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

我有以下数据集:

+----+------------+-------+-------+
| ID | Date | Time | Value |
+----+------------+-------+-------+
| 1 | 2015-01-01 | 14:00 | 1 |
| 2 | 2015-01-01 | 16:00 | 2 |
| 3 | 2015-01-02 | 14:00 | 15 |
| 3 | 2015-01-02 | 17:00 | 12 |
+----+------------+-------+-------+

现在我想返回每天的最后一个值,结果应该如下所示:

+----+------------+-------+-------+
| ID | Date | Time | Value |
+----+------------+-------+-------+
| 2 | 2015-01-01 | 16:00 | 2 |
| 3 | 2015-01-02 | 17:00 | 12 |
+----+------------+-------+-------+

我正在使用以下代码以某种方式提供接近的结果:

SELECT DISTINCT     t.id,
t.date,
t.time,
t.balance
FROM db1 t
JOIN (
SELECT MAX(tt.time) 'maxtime'
FROM db1 tt
GROUP BY tt.date) m ON m.maxtime = t.time

这现在返回大多数日期所需的最后一个值。但是,此代码还提供了一些不是最后值的随机行。

非常感谢您的帮助,干杯

最佳答案

你很接近。您只需要检查日期:

SELECT t.id, t.date, t.time, t.balance
FROM db1 t JOIN
(SELECT tt.date, MAX(tt.time) as maxtime
FROM db1 tt
GROUP BY tt.date
) m
ON m.maxtime = t.time AND m.date = t.date;
-------------------------------^

SELECT DISTINCT 不是必需的,除非您认为两条记录可能具有完全相同的时间。

关于MySQL 每天返回最后一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30955592/

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