Overblog Suivre ce blog
Editer l'article Administration Créer mon blog
10 avril 2012 2 10 /04 /avril /2012 22:21

 

SELECT MIN.

Comment trouver la valeur MINIMUM d'une colonne avec la fonction de groupe SQL MIN.
Comment sélectionner la plus petite valeur MIN d'une table avec SELECT MIN ().

 

 

Fonction SQL MIN.

La fonction de groupe PL-SQL MIN est utilisée pour obtenir la valeur minimale d'une colonne.

 

SYNTAXE FONCTION MIN.

 
 MIN( [DISTINCT | ALL] expr ) 

La fonction MIN renvoie une date si l'expression est de type date / heure.
La fonction MIN renvoie un nombre si l'expression est de type numérique.
La fonction MIN retourne un VARCHAR2 (suivant le Character set défini) si l'expression est de type caractère.
Il n'y a pas d'incidence sur le calcul d'un MIN avec l'utilisation de DISTINCT ou ALL.

Les fonctions d'agrégation MIN et MAX ignorent les valeurs NULL présentes dans le jeu de données sur lequel porte leur calcul.

 

FONCTION DE GROUPE MIN.

 
 TABLE DEMO MIN SQL> SELECT * FROM SCOTT.EMP; EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO ------------------------------------------------------------------------- 7369 SMITH CLERK 7902 800.5 30 7499 ALLEN SALESMAN 20/02/1981 1600 300 30 7521 WARD SALESMAN 7698 22/02/1981 1250 500.56 30 7566 JONES MANAGER 7839 02/04/1981 2975 30 7654 MARTIN SALESMAN 7698 28/09/1981 1250 1400 40 

 

FONCTION ORACLE MIN SANS REGROUPEMENT.

 
 SQL> SELECT MIN(ENAME), MIN(ALL HIREDATE), MIN(SAL), MIN(COMM), MIN(DISTINCT DEPTNO) FROM SCOTT.EMP; MIN(ENAME) MIN(ALLHIR MIN(SAL) MIN(COMM) MIN(DISTINCTDEPTNO) ---------- ---------- ---------- ---------- ------------------- ALLEN 20/02/1981 800,5 30 30 SQL> 

La fonction MIN renvoie ici, un type VARCHAR2, un type DATE et des types NUMBER.
Ici l'utilisation de MIN nous retourne pour chacune des colonnes la valeur MINIMALE.

 

FONCTION ORACLE MIN AVEC CLAUSE GROUP BY.

 
 SQL> COL JOB FORMAT A10 SQL> SELECT JOB, MIN(HIREDATE), MIN(SAL), MIN(COMM), MIN(DEPTNO) FROM SCOTT.EMP GROUP BY (JOB); JOB MIN(HIREDA MIN(SAL) MIN(COMM) MIN(DEPTNO) --------------- ---------- ---------- ---------- ----------- CLERK 800,5 30 SALESMAN 20/02/1981 1250 300 30 MANAGER 02/04/1981 2975 30 SQL> 

Pour le regroupement de données explicite, il faut utiliser la clause GROUP BY.
La clause GROUP BY liste les colonnes de regroupement, ici il se fait sur le champ JOB. Il doit y avoir une cohérence entre les colonnes du SELECT MIN et du GROUP BY.

 

FONCTION ORACLE MIN AVEC CONDITION HAVING.

La condition lors d’un regroupement se fait en utilisant la clause HAVING, elle permet de poser des conditions sur chaque regroupement MIN.

 
 SQL> COL JOB FORMAT A10 SQL> SELECT JOB, MIN(HIREDATE), MIN(SAL), MIN(COMM), MIN(DEPTNO) FROM SCOTT.EMP GROUP BY (JOB) HAVING MIN(SAL)>1249 AND MIN(COMM) > 200; JOB MIN(HIREDA MIN(SAL) MIN(COMM) MIN(DEPTNO) --------------- ---------- ---------- ---------- ----------- SALESMAN 20/02/1981 1250 300 30 SQL> 

 

 

Haut de Page www.dba-ora.fr

Liens en rapport avec l'article et qui sont susceptibles de vous intéresser
• Fonction SQL MAX
• Fonction SQL COUNT
• Instruction SQL GROUP BY
• SQL SELECT FROM WHERE

Partager cet article

Repost 0
Published by Daniel Roesch - dans FUNCTIONS - SQL
commenter cet article

commentaires