我有下面的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