2017-08-01 1 views

Répondre

2

Utilisation ROW_NUMBER de fonction analytique pour obtenir un numéro de ligne unique pour chaque enregistrement dans une partition, puis limiter les lignes de requête externe.

Voici un exemple de emp Table-

SELECT * 
    FROM (SELECT a.*, 
       ROW_NUMBER() OVER (PARTITION BY deptno ORDER BY ename) 
        row_num 
      FROM emp a) 
WHERE row_num <= 3; 
  • Dans requête ci-dessus, la fonction row_number retournera un numéro unique pour lignes département.
  • Where clause dans la requête externe filtrera le jeu de résultats à 3 enregistrements maximum par département.