每项服务都有相同的价格和ID。在最终表中,我将对相同行的数量进行求和 - 每项服务仅出现一次并提供完整的 ID 和价格。
我创建了示例表https://dbfiddle.uk/Z1EQca0b 而且我只能返回服务名称和数量
SELECT Service_name, SUM (Qty) As Sum
FROM NewOne
GROUP BY Service_Name
价值是数量和价格相乘的结果 我的桌子:
身份证 | 服务_名称 | 价格 | 数量 | 价值 | 身份 | 哪里 |
---|---|---|---|---|---|---|
1 | 修复 | 123.6000000000 | 5 | 618.0 | 123A | 伦敦 |
2 | 收藏 | 120.1000000000 | 4 | 480.4 | 127B | 巴黎 |
3 | 购买 | 100.1000000000 | 14 | 1401.4 | 130℃ | 巴黎 |
4 | 修复 | 123.6000000000 | 5 | 618.0 | 123A | 巴黎 |
5 | 收集 | 120.1000000000 | 9 | 1080.9 | 127B | 罗马 |
6 | 购买 | 100.1000000000 | 12 | 1201.2 | 130℃ | 罗马 |
7 | 收集 | 120.1000000000 | 15 | 1801.5 | 127B | 伦敦 |
8 | 购买 | 100.1000000000 | 1 | 100.1 | 130℃ | 伦敦 |
查询后我的期望
服务名称 | 价格 | 数量 | 价值 | 身份 |
---|---|---|---|---|
修复 | 123.6000000000 | 10 | 1236.0 | 123A |
收集 | 120.1000000000 | 28 | 3362.8 | 127B |
购买 | 100.1000000000 | 27 | 2702.7 | 130℃ |
SUM
+ GROUP BY
就是正确的方法,只要您预先计算了 Value
:
SELECT Service_Name, SUM(Price) AS Price, SUM(Qty) AS Qty,
SUM(Value) AS Value, Ident
FROM NewOne GROUP BY Service_Name, Ident