数据库分组查询函数ROLLUP的用法
分组数据
我们在进行查询分组时,除了要得到每个分组的统计数据外还要得到每个分组的汇总级别(针对每个分组)值,这就需要用到分组统计函数ROLLUP。
MYSQL上使用ROLLUP
现有数据表 【products】,表结构和数据如下:
我们需要将vend_id分组,得到每组的统计值以及得到分组后每个分组的汇总值,SQL如下:
SELECT
vend_id,
count(*) AS num_prods
FROM
products
GROUP BY
vend_id WITH ROLLUP
这里使用WITH ROLLUP关键字,得到的结果如下:
PostgreSQL上使用ROLLUP
现有数据表【ltpultatexamsite】,表结构和数据如下:
我们需要将areaid(区域)分组,得到每组的统计值以及得到分组后每个分组的汇总值,SQL如下:
SELECT
areaid,
COUNT (*) AS num
FROM
ltpultatexamsite
GROUP BY
ROLLUP (areaid)
这里使用ROLLUP(统计字段),得到的结果如下: