select row_number() over(order by a.autonomia, p.provincia, m.municipio) num_municipio,
row_number() over(partition by a.autonomia order by a.autonomia, p.provincia, m.municipio) num_municipio_en_autonomia,
row_number() over(partition by a.autonomia, p.provincia order by a.autonomia, p.provincia, m.municipio) num_municipio_en_autonomiaprovincia,
m.municipio, p.provincia, a.autonomia
from municipios m
left join provincias p on (p.idProvincia = m.IdProvincia)
left join autonomias a on (a.idautonomia = p.idautonomia)
order by a.autonomia, p.provincia, m.municipio;
select convert(varchar(10), fechahora, 121),
rank() over (order by convert(varchar(10), fechahora, 121) desc),
dense_rank() over (order by convert(varchar(10), fechahora, 121) desc),
rank() over (partition by convert(varchar(10), fechahora, 121) order by fechahora desc),
dense_rank() over (partition by convert(varchar(10), fechahora, 121) order by fechahora desc) ,
ntile (10) over (order by convert(varchar(10), fechahora, 121) desc)
from actividad
where fechahora > '2017-02-01'
order by 1 desc;
; with t as (
select
row_number() over(order by a.idautonomia, p.idprovincia, m.idMunicipio) numero,
row_number() over (partition by p.idprovincia order by p.idprovincia) numeroP,
row_number() over (partition by a.idAutonomia order by a.idautonomia) numeroA,
a.idautonomia, a.autonomia, p.idprovincia, p.provincia, m.idmunicipio, m.municipio
from municipios m
left join provincias p on (p.idProvincia = m.idProvincia)
left join autonomias a on (p.idautonomia = a.idautonomia)
)
select t.numero, t.numeroA, t.numeroP,
case when t.numeroA <> 1 then '' else convert(varchar(2), t.idautonomia) end idautonomia,
case when t.numeroA <> 1 then '' else autonomia end autonomia,
case when t.numeroP <> 1 then '' else convert(varchar(2), t.idprovincia) end idprovincia,
case when t.numeroP <> 1 then '' else provincia end provincia,
t.idmunicipio, t.municipio
from t
--where t.numeroP < 5
order by t.idautonomia, t.idprovincia, t.numeroP, t.idmunicipio;
select row_number() over(order by a.autonomia, p.provincia, m.municipio) num_municipio, row_number() over(partition by a.autonomia order by a.autonomia, p.provincia, m.municipio) num_municipio_en_autonomia, row_number() over(partition by a.autonomia, p.provincia order by a.autonomia, p.provincia, m.municipio) num_municipio_en_autonomiaprovincia, m.municipio, p.provincia, a.autonomia from municipios m left join provincias p on (p.idProvincia = m.IdProvincia) left join autonomias a on (a.idautonomia = p.idautonomia) order by a.autonomia, p.provincia, m.municipio;
select convert(varchar(10), fechahora, 121), rank() over (order by convert(varchar(10), fechahora, 121) desc),
dense_rank() over (order by convert(varchar(10), fechahora, 121) desc),
rank() over (partition by convert(varchar(10), fechahora, 121) order by fechahora desc), dense_rank() over (partition by convert(varchar(10), fechahora, 121) order by fechahora desc) , ntile (10) over (order by convert(varchar(10), fechahora, 121) desc) from actividad where fechahora > '2017-02-01' order by 1 desc;
; with t as ( select row_number() over(order by a.idautonomia, p.idprovincia, m.idMunicipio) numero, row_number() over (partition by p.idprovincia order by p.idprovincia) numeroP, row_number() over (partition by a.idAutonomia order by a.idautonomia) numeroA, a.idautonomia, a.autonomia, p.idprovincia, p.provincia, m.idmunicipio, m.municipio from municipios m left join provincias p on (p.idProvincia = m.idProvincia) left join autonomias a on (p.idautonomia = a.idautonomia) ) select t.numero, t.numeroA, t.numeroP, case when t.numeroA <> 1 then '' else convert(varchar(2), t.idautonomia) end idautonomia, case when t.numeroA <> 1 then '' else autonomia end autonomia, case when t.numeroP <> 1 then '' else convert(varchar(2), t.idprovincia) end idprovincia, case when t.numeroP <> 1 then '' else provincia end provincia, t.idmunicipio, t.municipio from t --where t.numeroP < 5 order by t.idautonomia, t.idprovincia, t.numeroP, t.idmunicipio;