示例数据:
LOCATION NAME LABEL1 LABEL2 SERVICE TIME
NY Andrew A B HOUSE 2555
NY Andrew A B CAR 35
NJ Copley C A HOUSE 1025
NY Copley A B HOUSE 650
VA Dalton D C PET 25
我想要做的是添加另一列,其中显示除服务之外具有相同数据的行的总和(时间)。此外,我需要的服务只是汽车和房屋的总和。这可能吗?如果没有,你能帮我正确的查询
我需要的示例输出:
LOCATION NAME LABEL1 LABEL2 SERVICE TIME SUM
NY Andrew A B HOUSE 2555 **2590**
NY Andrew A B CAR 35
NJ Copley C A HOUSE 1025 1025
NY Copley A B HOUSE 650 650
最佳答案
SELECT `LOCATION`, `NAME`, `LABEL1`, `LABEL2`, SUM(`TIME`)
FROM `myTable`
WHERE `SERVICE` = "CAR" OR `SERVICE` = "HOUSE"
GROUP BY `LOCATION`, `NAME`, `LABEL1`, `LABEL2`
这不会添加另一列,但当作为查询运行时,它会返回您在结果集中请求的数据。我建议采用这种方法。
您还应该确保您的 indexes针对此类查询进行了最佳设置。
关于mysql - SQL..对两行求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6536761/