Hallo, wenn ich die folgende TabelleWie ordnen Sie mit mehreren Partitionen in DB2 ein?
id code year
-- ---- ----
1 a 2000
1 b 2001
1 b 2002
1 b 2003
1 c 2007
2 a 1997
3 f 2006
3 f 2014
3 a 2015
Ich mag die Zeilen durch Partitionierung auf id
und code
Rang in die Lage sein, während sie von year
Bestellung:
id code year ranked
-- ---- ---- ------
1 a 2000 1
1 b 2001 2
1 b 2002 2
1 b 2003 2
1 c 2007 3
2 a 1997 1
3 f 2006 1
3 f 2014 1
3 a 2015 2
ich versucht habe zu tun:
select distinct id, code, dense_rank() over(partition by id,code order by year) as ranked
jedoch ergab dies
id code year ranked
-- ---- ---- ------
1 a 2000 1
1 b 2001 2
1 b 2002 3
1 b 2003 4
1 c 2007 5
2 a 1997 1
3 f 2006 1
3 f 2014 2
3 a 2015 3
d scheint es nur auf partitioniert zu haben id
Ich habe versucht, rank()
und row_number()
auch, aber diese nicht die gewünschte Tabelle geben. Fehle ich etwas? Ich bin sicher dichte_rank ist was ich brauche.
danke @Gordon Linoff. das hat funktioniert. – brucezepplin