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
|
Connected to Oracle Database 10g Express Edition Release 10.2.0.1.0
Connected as mni
SQL>
SQL> With Data As (
2 Select 'A' As Lettre, date '2010-11-01' as Dat, 1 As prix1, 2 as prix2 from dual union all
3 Select 'A', date '2010-10-01', 2, 3 from dual union all
4 Select 'B', date '2010-09-01', 4, 5 from dual union all
5 Select 'B', date '2010-08-01', 6, 7 from dual union all
6 Select 'C', date '2010-07-01', 8, 9 from dual union all
7 Select 'C', date '2010-06-01', 10, 11 from dual
8 )
9 select lettre, Max(dat) Dat,
10 Max(prix1) keep (dense_rank last order by dat) Prix1,
11 Max(prix2) keep (dense_rank last order by dat) Prix2
12 from data
13 group by lettre
14 /
LETTRE DAT PRIX1 PRIX2
------ ----------- ---------- ----------
A 01/11/2010 1 2
B 01/09/2010 4 5
C 01/07/2010 8 9
SQL> |
Partager