1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
|
SQL> select * from t order by lieu;
NOM LIEU AGE
------------------------------ ------------------------------ ----------
SALIM MONTREAL 20
MOUNIR MONTREAL 20
JEAN MONTREAL 25
ROBERT QUEBEC 30
RICHARD QUEBEC 27
SQL> with region as
2 (SELECT lieu,nom,age, row_number()over(partition by lieu order by nom asc) rn
3 from t)
4 SELECT case when rn!=1 then
5 null
6 else lieu
7 end lieu_grp
8 ,nom ,age FROM region order by lieu,rn;
LIEU_GRP NOM AGE
------------------------------ ------------------------------ ----------
MONTREAL JEAN 25
MOUNIR 20
SALIM 20
QUEBEC RICHARD 27
ROBERT 30
SQL> |