gpt4 book ai didi

mysql - 对特定索引中的最后一条记录求和

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

我无法编写一个可以正常工作的查询。如果有人能帮助我,我将不胜感激。

有一个表,其中包含特定索引的多条记录。我需要对每条记录的最后一条求和。

表格示例:

+--------+--------+--------+
| id_cop |id_comp | value |
+--------+--------+--------+
| 1 | 1 | 1000 |
| 1 | 1 | 2000 |
| 1 | 1 | 2200 |
| 2 | 2 | 1100 |
| 3 | 2 | 3000 |
| 3 | 2 | 3400 |
| 4 | 3 | 4000 |
| 5 | 4 | 1100 |
+--------+--------+--------+

我只需要对每个 id_cop 索引的最后一条记录求和,其中 id_comp <= 4。

在本例中,结果应为 2200 + 1100 + 3400 + 4000 + 1100。

有什么线索吗?

谢谢。

最佳答案

请尝试一下:

SELECT 
SUM(t.`value`) AS summedValue
FROM
(
SELECT
id_cop,
`value`,
id_comp,
IF(@cop_id = id_cop, @rank := @rank + 1, @rank := 0) rankNumber,
@cop_id := id_cop
FROM coptable , (SELECT @cop_id := -1, @rank := 0) var
WHERE id_comp <= 4
ORDER BY id_cop , created_at DESC
) AS t
WHERE t.rankNumber = 0
GROUP BY t.rankNumber;

SQL FIDDLE DEMO

注意:这里我使用的表名称为coptable。将 coptable 替换为您的。

关于mysql - 对特定索引中的最后一条记录求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38291546/

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