gpt4 book ai didi

sqlite - 如何查询以获取具有最新时间列值的特定行

转载 作者:行者123 更新时间:2023-12-03 19:38:29 24 4
gpt4 key购买 nike

以下是我的示例数据,我想获取最新时间的host:value对。

+------+-------+-------+
| HOST | VALUE | TIME |
+------+-------+-------+
| A | 100 | 13:40 |
| A | 150 | 13:00 |
| A | 222 | 13:23 |
| B | 210 | 13:55 |
| B | 300 | 13:44 |
+------+-------+-------+


希望仅获取每个主机列值具有最新时间值的行。
结果应为:
一个150 13:40
B 210 13:55

我认为有几种分析功能可以在Oracle中实现此要求,但是我不确定在SQLite中可以做什么。

您能让我知道如何查询吗?

最佳答案

这是一种执行查询的符合ANSI标准的方法,该方法应在所有版本的SQLite上运行。有关可能更短的解决方案,请参阅@CL的答案。

SELECT t1.HOST || '-' || t1.VALUE || '-' || t1.TIME AS HOSTVALUETIME
FROM table t1 INNER JOIN
(
SELECT HOST, MAX(TIME) AS MAXTIME
FROM table
GROUP BY HOST
) t2
ON t1.HOST = t2.HOST AND t1.TIME = t2.MAXTIME
ORDER BY t1.HOST DESC


输出:

+---------------+
| HOSTVALUETIME |
+---------------+
| A-100-13:50 |
| B-210-13:55 |
+---------------+

关于sqlite - 如何查询以获取具有最新时间列值的特定行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32195968/

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