Mysql SQL..求两行的和
样本数据:Mysql SQL..求两行的和,mysql,sum,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
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
这不会添加另一列,但会在作为查询运行时返回您在resultset中请求的数据。我建议采取这种方法
您还应该确保为此类查询以最佳方式设置您的查询
这不会添加另一列,但会在作为查询运行时返回您在resultset中请求的数据。我建议采取这种方法
您还应确保为此类查询以最佳方式设置了表。您的表未标准化。对它们进行规范化将使这变得非常容易,消除数据重复,并且是一件非常正确的事情。您的表没有进行规范化。将它们正常化将使这变得非常简单,消除数据重复,这是一件正确的事情。请注意,如果您想轻松运行其他查询,包括
总和
。使用WHERE服务=“CAR”或服务=“HOUSE”,您可以使用此选择创建一个视图与“服务”在(‘车’、‘房子’)中的位置相同?@Cha:是的,那实际上会更好。我如何计算车和房子的时间?它们仍然不相加,它返回两行不同的数据,尽管所有细节都是相同的,除了服务。有什么想法吗?@Cha:这就是我回答中的查询所做的。请注意,如果您想轻松运行其他查询,包括SUM
,您可以使用此选择创建一个视图。使用WHERESERVICE
=“CAR”或SERVICE
=“HOUSE”与WHERE'SERVICE'在('CAR','HOUSE')中相同?@Cha:Yes,事实上,那会更好。我如何计算汽车和房子的时间?它们仍然不相加,它返回两行不同的数据,尽管所有细节都是相同的,除了服务。有什么想法吗?@Cha:这就是我答案中的疑问。
SELECT `LOCATION`, `NAME`, `LABEL1`, `LABEL2`, SUM(`TIME`)
FROM `myTable`
WHERE `SERVICE` = "CAR" OR `SERVICE` = "HOUSE"
GROUP BY `LOCATION`, `NAME`, `LABEL1`, `LABEL2`