不是单组分组函数总和

时间:2018-09-15 20:46:58

标签: sql oracle ora-00937

这就是我所拥有的

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-“不是单组分组功能”   *原因:
  *动作:

2 个答案:

答案 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