fjtello / SQL-C-sharp

Common programming and coding tips and howtos
0 stars 0 forks source link

SQL [#porcentaje #acumulado #row_number #rank] #41

Open fjtello opened 6 years ago

fjtello commented 6 years ago

; with t as ( select m.autonomia, m.provincia, m.municipio, m.poblacion, m.idmunicipio, m.idProvincia, m.CodAutonomia, rank() over(order by poblacion) rango, dense_rank() over(order by poblacion) rango_denso, row_number() over(order by poblacion, municipio) num_fila from vmunicipios m left join retribuciones r on (r.idmunicipio = m.idmunicipio) ), a as ( select sum(poblacion) as total from vmunicipios ) select t.num_fila, t.rango, t.rango_denso,t.municipio, t.provincia, t.poblacion, sum(t.poblacion) over(order by t.num_fila) acumulado_poblacion, ((t.poblacion 100.00) / a.total) porcentaje_poblacion, (((sum(t.poblacion) over(order by t.num_fila)) 100.00) / a.total) porcentaje_acumulado from t, a order by rango_denso