我的服务有多个任务。每个任务都有一个特定向量的扣除。
我希望每个Vector_id和每个服务都查询所有Vector Deduction%。
例如我想:
Service | Vector | Deduction %
---------------------------------------
SM | 10 | 5
SM | 11 | 10
....
ES | 10 | 5
....
我已经订购了我希望总结Deduction的列,但无法通过声明得到正确的分组:
Select
Service.name AS ServiceName,
Task.name AS TaskName,
Deduction.Vector_id AS DeductionVector,
Deduction.deduction AS DeductionPercentage
FROM
Task JOIN Service ON
Service.id = Task.Service_id
JOIN Deduction ON
Deduction.Task_id = Task.id
ORDER BY ServiceName, DeductionVector;
以下是我使用的表格和一些数据:http://www.sqlfiddle.com/#!9/ea5f70
答案 0 :(得分:0)
试试这个:
Select
Service.name AS ServiceName,
Task.name AS TaskName,
Deduction.Vector_id AS DeductionVector,
SUM(Deduction.deduction) AS DeductionPercentage
...
GROUP BY Service.name, Task.name, Deduction.Vector_id
...
请注意,您应始终Group By
在Select
中使用的所有列,但COUNT
或SUM
等汇总值除外。