Rechercher Articles Oracle SQL sur ce Site.
Loading
Comment regrouper des lignes de ma table avec la clause de regroupement GROUP BY ?.
La clause GROUP BY permet de regrouper (agrégats) des enregistrements selon la valeur d'une expression.
SELECT
[ { { DISTINCT | UNIQUE } | ALL } ]
[ schema. ]
{ table | view | materialized view } .* | column | expr [ [ AS ] c_alias ]
FROM { table1 [, table2 ]...}
[ WHERE conditions ]
[ GROUP BY expr1 [, expr2]...]
|
|
FONCTION de GROUPE |
Descriptions |
| AVG([DISTINCT | ALL] expr) | Moyenne de expr |
| COUNT({* | [DISTINCT | ALL] expr}) | Nombre de lignes |
| MAX([DISTINCT | ALL] expr) | Maximum de expr |
| MIN([DISTINCT | ALL] expr) | Minimum de expr |
| SUM([DISTINCT | ALL] expr) | Somme de expr |
SQL> SELECT deptno, job, AVG(sal) AS "Moyenne Salaire" 2 FROM emp 3 GROUP BY deptno, job; DEPTNO JOB Moyenne Salaire ---------- --------- --------------- 20 CLERK 950 30 SALESMAN 1400 20 MANAGER 2975 30 CLERK 950 10 PRESIDENT 5000 30 MANAGER 2850 10 CLERK 1300 10 MANAGER 2450 20 ANALYST 3000 9 rows selected. |
SQL> SELECT deptno, job, AVG(sal) AS "Moyenne Salaire" 2 FROM emp 3 WHERE job = 'CLERK' 4 GROUP BY deptno, job; DEPTNO JOB Moyenne Salaire ---------- --------- --------------- 20 CLERK 950 30 CLERK 950 10 CLERK 1300 SQL> |
SQL> SELECT AVG(sal) AS "Moyenne Salaire", 2 COUNT(empno) AS "Nbre d'employes", 3 COUNT(DISTINCT(deptno)) AS "Dept Distinct", 4 FROM emp 5 WHERE job = 'CLERK'; Moyenne Salaire Nbre d'employes Dept Distinct --------------- --------------- ------------- 1037.5 4 3 SQL> |
SQL> SELECT job, 2 AVG(sal) AS "Moyenne Salaire", 3 COUNT(empno) AS "Nbre d'employes", 4 COUNT(DISTINCT(deptno)) AS "Dept Distinct" 5 FROM emp 6 GROUP BY job; JOB Moyenne Salaire Nbre d'employes Dept Distinct --------- --------------- --------------- ------------- ANALYST 3000 2 1 CLERK 1037.5 4 3 MANAGER 2758.33 3 3 PRESIDENT 5000 1 1 SALESMAN 1400 4 1 SQL> |
| Liens en rapport avec l'article et qui sont susceptibles de vous intéresser |
|
• Update conditionnées de Tables avec MERGE INTO • Oracle SQL GROUP BY ROLLUP • Oracle SQL GROUP BY CUBE • Instruction SQL SELECT FROM WHERE |