Analytical Functions Oracle PLSQL Tutorial

SQL>
SQL> CREATE TABLE product
  2  (item         VARCHAR(10)
  3  ,serialNumber INT
  4  ,price        INT
  5  );
Table created.
SQL> INSERT INTO product VALUES ('AAA', 1,10);
1 row created.
SQL> INSERT INTO product VALUES ('BBB',2,10);
1 row created.
SQL> INSERT INTO product VALUES ('AAA', 3,10);
1 row created.
SQL> INSERT INTO product VALUES ('CCC',4,10);
1 row created.
SQL> INSERT INTO product VALUES ('BBB',5,10);
1 row created.
SQL> INSERT INTO product VALUES ('BBB',6,10);
1 row created.
SQL>
SQL> SELECT item, serialNumber, SUM(price)
  2    FROM product
  3    GROUP BY GROUPING SETS ((item,serialNumber),(item),());
ITEM       SERIALNUMBER SUM(PRICE)
---------- ------------ ----------
AAA                   1         10
AAA                   3         10
AAA                             20
BBB                   2         10
BBB                   5         10
BBB                   6         10
BBB                             30
CCC                   4         10
CCC                             10
                                60
10 rows selected.
SQL>
SQL> DROP TABLE product;
Table dropped.
SQL>