我想对表中每个唯一的最后一个值的公斤总数进行求和。
我目前的表格看起来像这样
|----|-----------|----------|----------|----------|---------------|
| id | productId | amountKg | amountSt | location | datetimeStamp |
|----|-----------|----------|----------|----------|---------------|
| 12 | 19 | 201 | 0 | loc1 | 2019-12-21 |
| 13 | 19 | 35 | 0 | loc2 | 2019-12-22 | <---
| 14 | 19 | 400 | 0 | loc1 | 2019-12-23 | <---
|----|-----------|----------|----------|----------|---------------|
我有这个 SQL 查询
SELECT SUM(amountKg) FROM (SELECT amountKg FROM storage GROUP BY location ORDER BY id ASC) t;
当我运行此查询时,我得到结果 236 我想要的结果是435,14和13的和(表中的箭头)
感谢任何帮助
最佳答案
首先查找每个位置具有最新行的 ID,然后将它们相加:
select sum(s.amountKg)
from storage s
join (
select location, max(id) as id
from storage
group by location
) as latest on latest.id=s.id
关于mysql - 如何对表中每个唯一的最后一个值求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59438354/