Elenco numerato in ordine alfabetico e per gruppi

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Elenco numerato in ordine alfabetico e per gruppi

Massimiliano Moraca
Salve a tutti e buona Pasqua passata :)

Ho bisogno di numerare un elenco di 3350 toponimi secondo un preciso
raggruppamento ed in ordine alfabetico in base al raggruppamento. L'elenco è
una tabella di punti in PostGIS così suddivisa:
- id
- toponimo
- cod_insee
- nom_villaggio
- label_top_villaggio

Facendo finta che in /nom_villaggio/ ce ne sia uno che si chiama Pippo,
vorrei riempire automaticamente /label_top_villaggio/ con un elenco numerato
che rispetti l'ordine alfabetico di /toponimo/. I villaggi in totale sono
320, tramite SQL come potrei fare per creare automaticamente l'elenco?

-----
Ingegnere, consulente GIS e ciclista urbano
--
Sent from: http://gfoss-geographic-free-and-open-source-software-italian-mailing.3056002.n2.nabble.com/
_______________________________________________
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it.
796 iscritti al 28/12/2017
Consulente GIS, Formatore, Blogger e Ciclista Urbano email: info@massimilianomoraca.it cell: 333 5949583 (lun-ven, 9.00-18.00) website: massimilianomoraca.it
Reply | Threaded
Open this post in threaded view
|

Re: Elenco numerato in ordine alfabetico e per gruppi

francesco marucci-2
ciao Massimiliano,
puoi farlo molto semplicemente con una finestra.

prima vedi se il risultato che ti serve è proprio questo (se ho capito
bene):

select id, nom_villaggio, toponimo, row_number() over(partition by
nom_villaggio order by toponimo) as sub_id
from [tua_tabella]


poi, siccome non puoi fare un update con un finestra, devi fare un update
con un join, del tipo:

update [tua_tabella]
set label_top_villaggio=finestra.sub_id
from (
select id, nom_villaggio, toponimo, row_number() over(partition by
nom_villaggio order by toponimo) as sub_id
from [tua_tabella]
) finestra
where finestra.id=[tua_tabella].id

dove ovviamente do per scontato che id è chiave primaria della tua tabella.

facci sapere.

saluti,
francesco


Il giorno 3 aprile 2018 14:51, Massimiliano Moraca <
[hidden email]> ha scritto:

> Salve a tutti e buona Pasqua passata :)
>
> Ho bisogno di numerare un elenco di 3350 toponimi secondo un preciso
> raggruppamento ed in ordine alfabetico in base al raggruppamento. L'elenco
> è
> una tabella di punti in PostGIS così suddivisa:
> - id
> - toponimo
> - cod_insee
> - nom_villaggio
> - label_top_villaggio
>
> Facendo finta che in /nom_villaggio/ ce ne sia uno che si chiama Pippo,
> vorrei riempire automaticamente /label_top_villaggio/ con un elenco
> numerato
> che rispetti l'ordine alfabetico di /toponimo/. I villaggi in totale sono
> 320, tramite SQL come potrei fare per creare automaticamente l'elenco?
>
> -----
> Ingegnere, consulente GIS e ciclista urbano
> --
> Sent from: http://gfoss-geographic-free-and-open-source-software-
> italian-mailing.3056002.n2.nabble.com/
> _______________________________________________
> [hidden email]
> http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
> Questa e' una lista di discussione pubblica aperta a tutti.
> I messaggi di questa lista non hanno relazione diretta con le posizioni
> dell'Associazione GFOSS.it.
> 796 iscritti al 28/12/2017
_______________________________________________
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it.
796 iscritti al 28/12/2017
Reply | Threaded
Open this post in threaded view
|

Re: Elenco numerato in ordine alfabetico e per gruppi

Massimiliano Moraca
Perfetto, era quello che volevo ottenere. Grazie Francesco :)

PS: si id è la chiave primaria della tabella

Il giorno 3 aprile 2018 15:09, francesco marucci <
[hidden email]> ha scritto:

> ciao Massimiliano,
> puoi farlo molto semplicemente con una finestra.
>
> prima vedi se il risultato che ti serve è proprio questo (se ho capito
> bene):
>
> select id, nom_villaggio, toponimo, row_number() over(partition by
> nom_villaggio order by toponimo) as sub_id
> from [tua_tabella]
>
>
> poi, siccome non puoi fare un update con un finestra, devi fare un update
> con un join, del tipo:
>
> update [tua_tabella]
> set label_top_villaggio=finestra.sub_id
> from (
> select id, nom_villaggio, toponimo, row_number() over(partition by
> nom_villaggio order by toponimo) as sub_id
> from [tua_tabella]
> ) finestra
> where finestra.id=[tua_tabella].id
>
> dove ovviamente do per scontato che id è chiave primaria della tua tabella.
>
> facci sapere.
>
> saluti,
> francesco
>
>
> Il giorno 3 aprile 2018 14:51, Massimiliano Moraca <
> [hidden email]> ha scritto:
>
> > Salve a tutti e buona Pasqua passata :)
> >
> > Ho bisogno di numerare un elenco di 3350 toponimi secondo un preciso
> > raggruppamento ed in ordine alfabetico in base al raggruppamento.
> L'elenco
> > è
> > una tabella di punti in PostGIS così suddivisa:
> > - id
> > - toponimo
> > - cod_insee
> > - nom_villaggio
> > - label_top_villaggio
> >
> > Facendo finta che in /nom_villaggio/ ce ne sia uno che si chiama Pippo,
> > vorrei riempire automaticamente /label_top_villaggio/ con un elenco
> > numerato
> > che rispetti l'ordine alfabetico di /toponimo/. I villaggi in totale sono
> > 320, tramite SQL come potrei fare per creare automaticamente l'elenco?
> >
> > -----
> > Ingegnere, consulente GIS e ciclista urbano
> > --
> > Sent from: http://gfoss-geographic-free-and-open-source-software-
> > italian-mailing.3056002.n2.nabble.com/
> > _______________________________________________
> > [hidden email]
> > http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
> > Questa e' una lista di discussione pubblica aperta a tutti.
> > I messaggi di questa lista non hanno relazione diretta con le posizioni
> > dell'Associazione GFOSS.it.
> > 796 iscritti al 28/12/2017
> _______________________________________________
> [hidden email]
> http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
> Questa e' una lista di discussione pubblica aperta a tutti.
> I messaggi di questa lista non hanno relazione diretta con le posizioni
> dell'Associazione GFOSS.it.
> 796 iscritti al 28/12/2017
>
_______________________________________________
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it.
796 iscritti al 28/12/2017
Consulente GIS, Formatore, Blogger e Ciclista Urbano email: info@massimilianomoraca.it cell: 333 5949583 (lun-ven, 9.00-18.00) website: massimilianomoraca.it