
numerar valores duplicados con row_number() over(partition)
Publicado por Gerardo Anguiano (1 intervención) el 05/11/2021 00:58:13
Hola
alguien que me oriente, tengo como resultado de una consulta los siguientes datos
Nombre Cliente num_incidencias
a 1 9
a 35 1
aa 26 1
ab 28 1
ac 29 1
ad 30 1
ae 31 1
ae 39 1
ae 50 1
af 32 1
b 1 8
b 1 7
b 1 7
b 1 2
b 14 1
b 36 1
b 1 1
c 1 7
c 54 1
necesito el top 10 de los nombres con mayor numero de incidencias independiente del cliente al que afecte
intente hacer row_number() over (partition by Nombre order by num_incidencias desc) esperando que me diera el siguiente resultado
Nombre Cliente num_incidencias resultado esperado
a 1 9 1
a 35 1 1
aa 26 1 2
ab 28 1 3
ac 29 1 4
ad 30 1 5
ae 31 1 6
ae 39 1 6
ae 50 1 6
af 32 1 7
algo asi como un id unico para ese Nombre
No lo quiero hacer con una subconsulta top 10 Nombre, dado que para llegar a este top tengo que hacer demasiodos joins con where's y los tendria que repetir tanto en la subconsulta como en la consulta
Espero sea entendible
Saludos
alguien que me oriente, tengo como resultado de una consulta los siguientes datos
Nombre Cliente num_incidencias
a 1 9
a 35 1
aa 26 1
ab 28 1
ac 29 1
ad 30 1
ae 31 1
ae 39 1
ae 50 1
af 32 1
b 1 8
b 1 7
b 1 7
b 1 2
b 14 1
b 36 1
b 1 1
c 1 7
c 54 1
necesito el top 10 de los nombres con mayor numero de incidencias independiente del cliente al que afecte
intente hacer row_number() over (partition by Nombre order by num_incidencias desc) esperando que me diera el siguiente resultado
Nombre Cliente num_incidencias resultado esperado
a 1 9 1
a 35 1 1
aa 26 1 2
ab 28 1 3
ac 29 1 4
ad 30 1 5
ae 31 1 6
ae 39 1 6
ae 50 1 6
af 32 1 7
algo asi como un id unico para ese Nombre
No lo quiero hacer con una subconsulta top 10 Nombre, dado que para llegar a este top tengo que hacer demasiodos joins con where's y los tendria que repetir tanto en la subconsulta como en la consulta
Espero sea entendible
Saludos
Valora esta pregunta


0