SQL..Sum两行

时间:2011-06-30 14:56:57

标签: mysql sum

示例数据:

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

我想要做的是添加另一列,其中显示除了Service之外具有相同数据的行的总和(时间)。此外,我需要的服务只是汽车和房屋的总和。这可能吗?如果没有,你可以帮助我正确的查询

我需要的示例输出:

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

1 个答案:

答案 0 :(得分:3)

SELECT `LOCATION`, `NAME`, `LABEL1`, `LABEL2`, SUM(`TIME`)
  FROM `myTable`
 WHERE `SERVICE` = "CAR" OR `SERVICE` = "HOUSE"
 GROUP BY `LOCATION`, `NAME`, `LABEL1`, `LABEL2`

这不会添加另一列,但它会在作为查询运行时返回您在结果集中请求的数据。我建议采用这种方法。

您还应确保为此类查询设置最佳indexes