Vai al contenuto

Selezionare primo record per ogni duplicato per attributo

Supponiamo di avere una layer con tabella attributi in cui un attributo contiene dei duplicati, selezionare un solo record per ogni duplicato. Questo esempio prende spunto da questa domanda posta su StackExchange.

Usando solo le espressioni di QGIS e Select by Expression , l'espressione da usare è:

id rischio
1 R1
2 R2
3 R2
4 R3
5 R3
6 R3
with_variable ('your_field','rischio',
if(
    count(eval(@your_field),eval(@your_field))>1 
    AND 
    $id = array_agg($id,eval(@your_field))[0],true,false)
    )

selezionerà la riga 2 e 4


Funzioni e variabili utilizzate: