> 데이터 베이스 > MySQL 튜토리얼 > Group by字句的用法

Group by字句的用法

WBOY
풀어 주다: 2016-06-07 17:25:35
원래의
1127명이 탐색했습니다.

--先按照job_id分组,再按照manager_id分组select job_id,manager_id,sum(salary),count(*) from employees group by job_id,man

--先按照job_id分组,再按照manager_id分组
select job_id,manager_id,sum(salary),count(*) from employees group by job_id,manager_id;

--先对job_id进行分组,输出按状态分组的结果,然后再按照job_id分组,并对分组后的job_id按照 manager_id进行再分组,输出结果;
--在第一行输出统计的总和(1=2+3=4+5+6+7+8+9)。即他是将同一结果集按照不同的分组条件分别输出了2次。
select job_id,manager_id,sum(salary),count(*)  from employees group by rollup(job_id,manager_id);

--先按照manager_id分组,输出行;然后输出合计行;然后按照job_id分组,输出行;然后在按照job_id和manager_id分组输出行。即,其实他是将同一结果集按照3种条件分别GROUP并输出了3次。
select job_id,manager_id,sum(salary),count(*)  from employees group by cube(job_id,manager_id);

--可见此时其作用等同于CUBE的前2次分组。缺失了第三次分组(即同时按照job_id和manager_id分组)和合计行。
select job_id,manager_id,sum(salary),count(*)  from employees group by grouping sets(job_id,manager_id);
--其实GROUP BY GROUPING SETS也是可以输出合计的,只需要加一对空括号即可:
select job_id,manager_id,sum(salary),count(*)  from employees group by grouping sets(job_id,manager_id,());

linux

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿