gpt4 book ai didi

mysql - 如何从每个指标有多个条目的表中选择列的总和?

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

我在 MySQL 中有一个表,它记录某些数据点的定期指标。该表有效地记录了每个指标的每个设定间隔(此处由 metric_id 定义)。我想知道如何选择一组具有最新时间戳的指标之和。

mysql> SELECT value, timestamp, metric_id FROM datapoint
WHERE metric_id IN (11, 13) ORDER BY timestamp DESC LIMIT 2;
+-------+---------------------+-----------+
| value | timestamp | metric_id |
+-------+---------------------+-----------+
| 28 | 2016-07-26 21:37:04 | 13 |
| 4 | 2016-07-26 21:37:05 | 11 |
+-------+---------------------+-----------+
2 rows in set (0.00 sec)

我想要的是根据 IN 语句中的 metric_id 从上表中选择总和 (32),其中对于每条记录,它都是按时间戳记的最新记录。

最佳答案

下面查询中的子查询按时间戳标识每个 metric_id 组的最新记录。然后使用它来选择每个最近记录的值,然后在外部查询中对这些值进行求和。

SELECT SUM(t1.value)
FROM datapoint t1
INNER JOIN
(
SELECT metric_id, MAX(timestamp) AS timestamp
FROM datapoint
GROUP BY metric_id
) t2
ON t1.metric_id = t2.metric_id AND
t1.timestamp = t2.timestamp
WHERE t1.metric_id IN (11, 13)

关于mysql - 如何从每个指标有多个条目的表中选择列的总和?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38603900/

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