-- @author tungs1 -- @modified 2013-07-28 12:00:00 -- @created 2013-07-28 12:00:00 -- @description groupingfunction groupingfunc111.sql -- @db_name groupingfunction -- @executemode normal -- @tags groupingfunction -- order 1 SELECT SUM(sale.pn) as g1, GROUPING(sale.pn) + 1 as g2 FROM product, sale WHERE product.pn=sale.pn GROUP BY GROUPING SETS ((sale.pn) ,(product.pname, sale.pn)) ORDER BY g1,g2; g1 | g2 ------+---- 200 | 1 200 | 1 300 | 1 300 | 1 400 | 1 400 | 1 600 | 1 600 | 1 700 | 1 700 | 1 800 | 1 800 | 1 800 | 1 800 | 1 1000 | 1 1000 | 1 (16 rows)