显示每条记录的全部总和

ark*_*ark 2 sql oracle ora-00937

假设您有这两列的一些项目表:

  • 项目名称
  • 价钱

.... ItemName独特的地方.

你如何显示每个价格的总和ItemName(我使用的是Oracle)?如果我试试这个:

SELECT ItemName, 
       SUM(Price)
  FROM Items
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

ORA-00937:不是单组组功能

...只有在我使用GROUP BY时才会消失.但是,我只能按群体进行SUM,而不是所有群体.

Qua*_*noi 6

SELECT  ItemName, SUM(Price) OVER()
FROM    Items
Run Code Online (Sandbox Code Playgroud)

此查询将返回ItemName's 的列表以及每个的价格总和ItemName:

SELECT  ItemName, SUM(Price) OVER()
FROM    (
        SELECT  'Apple' AS ItemName, 100 AS price
        FROM    dual
        UNION ALL
        SELECT  'Banana', 200 AS price
        FROM    dual
        UNION ALL
        SELECT  'Cocoa', 300 AS price
        FROM    dual
        ) q


ItemName  Price
--------  -----
Apple     600
Banana    600
Cocoa     600
Run Code Online (Sandbox Code Playgroud)