0

所以这就是我所拥有的

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 行开始出错:select idproduct, sum(quantity) from bb_basketitem order by idproduct 命令行错误:1 列:7 错误报告:SQL 错误:ORA-00937: not a single-group group function 00937. 00000 - “不是单组群功能” *原因:
*措施:

4

2 回答 2

0

您缺少该group by条款。查询应该是这样的:

select idproduct, sum(quantity) 
from bb_basketitem 
group by idproduct
order by idproduct;
于 2018-09-15T20:49:25.240 回答
0

每当您在 SQL 语句的选择列表中包含聚合函数时,都需要使用如下所示的 group by 子句列出所有非聚合列(假设您在选择列表中有三列idproduct, col2, col3):

select idproduct, col2, col3, sum(quantity), avg(col3), min(idproduct)
  from bb_basketitem
 group by idproduct, col2, col3;
于 2018-09-15T20:55:39.703 回答