Je viens de commencer à apprendre le SQL. J'utilise une base de données Oracle.PL SQL sélectionnez la première ligne de la colonne 1 où la colonne 2 est unique
Table emp avec colonne empno, ename, travail, mgr, hiredate, sal, comm, deptno.
Je veux obtenir le premier enregistrement de la colonne ename pour chaque deptno et ename doivent être triés par asc.
SQL suivante fonctionne:
Select ename
from (Select d.ename
From emp d
Where d.deptno = 10
Order by ename asc)
where rownum <= 1
Union
Select ename
from (Select d.ename
From emp d
Where d.deptno = 20
Order by ename asc)
where rownum <= 1
Union
Select ename
from (Select d.ename
From emp d
Where d.deptno = 30
Order by ename asc)
where rownum <= 1
Union
Select ename
from (Select d.ename
From emp d
Where d.deptno = 40
Order by ename asc)
where rownum <= 1
Je veux optimiser donc je ne besoin de réécrire si j'ajouter quelques enregistrement à DEPTNO colonne.
J'ai essayé avec SELECT
distincts comme
SELECT ename FROM emp WHERE (SELECT distinct deptno FROM emp)
Merci :) que tout ce que je avais besoin. J'ai eu un problème avec le groupe et à la fin j'ai oublié que la commande existe ... – Keiishi
Super! Faites moi savoir si vous avez des questions.. –