Oracle-Grouping sets
CREATE TABLE employee
(
name NVARCHAR2(10),
gender NCHAR(1),
country NVARCHAR2(10),
department NVARCHAR2(10),
salary NUMBER(10)
);
INSERT INTO employee VALUES ('张三','男','中国','市场部',4000);
INSERT INTO employee VALUES ('李四','男','中国','市场部',5000);
INSERT INTO employee VALUES ('王五','女','美国','市场部',3000);
INSERT INTO employee VALUES ('赵红','男','中国','技术部',2000);
INSERT INTO employee VALUES ('李白','女','中国','技术部',5000);
INSERT INTO employee VALUES ('王蓝','男','美国','技术部',4000);
SELECT
*
FROM
employee;
SELECT
a.country,
NULL department,
round( avg( a.salary ), 2 ) AS salary
FROM
employee a
GROUP BY
a.country UNION ALL
SELECT NULL
country,
a.department,
round( avg( a.salary ), 2 ) AS salary
FROM
employee a
GROUP BY
a.department
SELECT
country,
department,
round( avg( salary ), 2 ) AS salary
FROM
employee
GROUP BY
grouping sets ( country, department );
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)