我有下面的SQL語句(修剪)麻煩:「列XYZ必須在GROUP BY」 - >「不能GROUP BY聚合列」
SELECT nr,
(CASE WHEN
SUM(vkdtab.amount*liter)<>0 AND
jjjjmm BETWEEN 201001 and 201009
THEN SUM(net)/SUM(vkdtab.amount*liter)
ELSE 0 END) as return
FROM tab
GROUP BY 1,2,3
應該給我量/升項目在一個特殊的時間範圍內,但我得到的錯誤:column return must be in group by
在我添加該列後:cannot group by aggregate column
。
這是功能性的,只是沒有時間表:
CASE WHEN
SUM(vkdtab.amount*liter)<>0
THEN SUM(net)/SUM(vkdtab.amount*liter)
ELSE 0 END
如何我可以添加的時間表沒有得到一個錯誤?
這是什麼RDBMS?我以前沒有看過「GROUP BY 1,2,3」的語法。 – 2010-09-09 12:44:30
@Martin Smith:MySQL顯然允許它。 – gbn 2010-09-09 12:46:38
它只是我還是你正在查詢一個不在你的查詢中的表? vkdtab連接在哪裏? – HLGEM 2010-09-09 13:26:21