以下查询将导致上错误。
SELECT Farbe,SUM(Anzahl)
FROM bueroklammern
GROUP BY Farbe
HAVING SUM(Anzahl)>
(
SELECT Farbe,SUM(Anzahl)
FROM bueroklammern
WHERE Farbe='gelb'
);
怎么了
我知道了:
SELECT CONCAT('Anzahl aller gelben Büroklammern'), SUM(Anzahl) AS Value
FROM bueroklammern
WHERE Farbe='gelb';
SELECT Farbe,SUM(Anzahl) AS anzahl_is_bigger_as_yellow
FROM bueroklammern
GROUP BY Farbe
HAVING SUM(Anzahl)>
(
SELECT SUM(Anzahl) AS anzahl_gelb
FROM bueroklammern
WHERE Farbe='gelb'
);
SELECT Farbe,SUM(Anzahl) AS anzahl_is_smaller_as_yellow
FROM bueroklammern
GROUP BY Farbe
HAVING SUM(Anzahl)<
(
SELECT SUM(Anzahl) AS anzahl_gelb
FROM bueroklammern
WHERE Farbe='gelb'
);
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
最佳答案
在具有SQL子句的查询中,您正在评估select语句中具有2列的一列之和。用这个:
SELECT Farbe, SUM (Anzahl)
FROM bueroklammern
GROUP BY Farbe HAVING SUM (Anzahl) > (SELECT SUM (Anzahl)
FROM bueroklammern
WHERE Farbe = 'gelb');
关于mysql - SQL错误:操作数填满1(Spalten)焓/应该包含一列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46811047/