MYSQL 2选择分组依据

时间:2015-10-26 14:24:11

标签: mysql

这应该是结果: enter image description here

这就是我必须尝试的:

SELECT ort Ort, (SELECT SUM(umsatz) FROM kunde WHERE geschlecht = "w") Frau,
(SELECT ort, SUM(umsatz) FROM kunde WHERE geschlecht = "m") Mann FROM kunde GROUP BY ort;

它告诉我:Error Code: 1241. Operand should contain 1 column(s)

有什么建议吗?感谢

1 个答案:

答案 0 :(得分:1)

您似乎想要按性别(umsatz)获得每个地点(ort)的收入(geschlecht)。

如果是这种情况,则需要使用条件聚合

SELECT ort, 
       SUM(CASE WHEN geschlecht = "w" THEN umsatz ELSE 0 END) AS Frau,
       SUM(CASE WHEN geschlecht = "m" THEN umsatz ELSE 0 END) AS Mann
FROM kunde 
GROUP BY ort;

首先SUMgeschlecht = "w"添加所有ort条记录,而第二个SUMgeschlecht = "m"添加所有ort条记录。