我得到了这个说法GROUP BY SQL语句错误
SELECT ITEM.ITEMID, ITEMNAME, QUANTITY AS "QUANTITY SOLD"
FROM ORDERITEM,
NBUSER."ORDER",
PAYMENT,
ITEM
WHERE NBUSER."ORDER".PAYMENTID = PAYMENT.PAYMENTID
AND ITEM.ITEMID = ORDERITEM.ITEMID
AND PAYMENT.PAYMENTDATE BETWEEN '4/1/2017' AND '4/30/2017'
GROUP BY ITEM.ITEMID
ORDER BY ITEM.ITEMID DESC;
但它不断给我这个错误:
[Exception, Error code 30,000, SQLState 42Y36] Column reference 'ITEM.ITEMNAME' is invalid, or is part of an invalid expression. For a SELECT list with a GROUP BY, the columns and expressions being selected may only contain valid grouping expressions and valid aggregate expressions. Line 1, column 1
我想加入类似的itemid记录在一起,并添加量弥补所有相同的itemid。
一般的GROUP BY规则说:如果指定了GROUP BY子句,SELECT列表中的每个列引用必须标识一个分组列或者是一个set函数的参数。 – jarlh
错误是自我解释读取它。您应该将选择列表列添加到group by子句中或使用聚合函数。 – Sankar
今天提示:切换到现代,明确的JOIN语法。易于编写(没有错误),更易于阅读(和维护),并且在需要时更容易转换为外部联接。 – jarlh