2017-07-12 75 views
0

我有兩個表無效使用組功能 - #1111

表銷售商

enter image description here

表bestellingen

enter image description here

我的查詢:

SELECT v.naam, 
     SUM(COUNT(b.status) * 1.50) 
    FROM verkoper AS v INNER JOIN 
     bestellingen AS b ON b.verkoper = v.id 
    WHERE b.status = 'retour' 
GROUP BY b.verkoper 

它給了我錯誤#1111 - Invalid use of group function 任何想法?

+0

您不能選擇不屬於分組的一部分的列(此處:v.naam) – CBroe

+0

不允許我在聚合內部進行聚合。此外,Mysql允許這種奇怪的方式來編寫'group by',所以我們無法猜測你想要實現什麼。你能否加上你的預期結果 –

+0

GROUP BY無效。將使用較新的MySQL版本(除非在兼容模式下)返回一個錯誤,以及舊版MySQL的不可預知的結果。一般的GROUP BY規則說:如果指定了GROUP BY子句,SELECT列表中的每個列引用必須標識一個分組列或者是一個set函數的參數! OMG! – jarlh

回答

2

我認爲這可能是你想要什麼:

SELECT v.naam, COUNT(*)*1.50 
FROM verkoper v INNER JOIN 
    bestellingen b 
    ON b.verkoper = v.id 
WHERE b.status = 'retour' 
GROUP BY v.naam; 

注:

  • GROUP BY鍵應該在符合查詢條件的非聚集列。
  • 您可以使用COUNT(*)COUNT(1)來統計所有行。輸入更簡單。
  • 沒有理由在SUM()內嵌套COUNT()
+0

OMG!謝謝,這對我來說太愚蠢了......甚至沒有嘗試過 – LenapCapo

相關問題