Message posté par : Nicolas Ribot
----------------------------------------
Bonjour,
Il y a bcp de façons de faire pour supprimer les doublons.
Perso je passe par des tableaux (array) stockant les identifiants des geom identiques,
puis je delete depuis la table tous les identifiants qui sont dans le tableau sauf 1 (le
premier par ex)
Avec des array, c'est facile de selectionner une sous partie du tableau, par ex tous
les élements sauf le premier:
-----------------
Code :
arr[2:array_length(arr, 1)]
-----------------
Par ex:
On peut choisir l'ordre des ids dans le tableau si on veut, pour garder celui
qu'on veut parmi les doublons, en faisant: array_agg(id order by ...) as ids
-----------------
Code :
with tmp as (
select array_agg(id) as ids
FROM ref_gpu_sup_flux_tdlu.sup_t1_ass_s_gpu
group by geom
having count(*) > 1
)
delete from ref_gpu_sup_flux_tdlu.sup_t1_ass_s_gpu s
using tmp t
where s.id = any(t.ids[2:array_length(t.ids, 1)]);
-----------------
Nicolas
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=366513#p366513
Pour y répondre : geobd(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net