这就是我所拥有的
SELECT idproduct, quantity FROM bb_basketitem ORDER BY idproduct;
IDPRODUCT QUANTITY
---------------------- ----------------------
2 1
4 1
4 1
6 1
6 1
6 2
7 1
7 1
7 1
7 1
7 1
7 1
7 1
8 1
8 1
8 1
8 1
8 1
8 2
8 1
8 1
8 2
9 2
9 2
9 1
9 1
10 1
10 2
已选择28行
我想按idproduct
显示每种产品的总量,我觉得它应该像下面这样工作。
SELECT idproduct, sum(quantity) FROM bb_basketitem ORDER BY idproduct;
但是当我执行查询时,出现以下错误。
从命令的第1行开始出错:选择idproduct,sum(quantity) 来自bb_basketitem的命令,按idproduct命令在命令行上出现错误:1 列:7错误报告:SQL错误:ORA-00937:不是单个组的组 功能 00937. 00000-“不是单组分组功能” *原因:
*动作:
答案 0 :(得分:0)
您缺少group by
子句。查询应类似于:
select idproduct, sum(quantity)
from bb_basketitem
group by idproduct
order by idproduct;
答案 1 :(得分:0)
每当在SQL语句的选择列表中包括聚合函数时,都需要使用group by子句列出所有未聚合的列,如下所示(假设您有三列idproduct
,{{1} },col2
(在选择列表中):
col3