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
| select numclient, typeclient, destination from
(
select
numclient,
case when numclient = lag(numclient) over (order by numclient) then typeclient || ', ' || lag(typeclient) over (order by numclient)
else typeclient
end as typeclient,
case when numclient = lag(numclient) over (order by numclient) then destination || ', ' || lag(destination) over (order by numclient)
else destination
end as destination,
position,
maxposition
from
(
select
numclient,
typeclient,
destination,
dense_rank() over (partition by numclient order by typeclient) as position,
count(typeclient) over (partition by numclient) as maxposition
from matable
order by numclient, typeclient, destination
)
)
where position = maxposition |
Partager