Portál AbcLinuxu, 13. května 2025 00:39
Řešení dotazu:
DELETE f1 FROM dbo.foo f1 JOIN dbo.foo f2 ON f2.value = f1.value WHERE f1.id > f2.idAz ty duplicity smazes, nezapomen vytvorit unique constraint nad sloupcem, v kterem nemaji byt duplicity..
dbo
si tam samozrejme odmysli ;]
Jinak dalsi variantou je vytvorit novou tabulku, vlozit do ni jiz unikatni zaznamy z puvodni tabulky, puvodni tabulku smazat a novou prejmenovat na puvodni nazev..
INSERT … SELECT … GROUP BY …
. Potom smazat obsah původní tabulky a zkopírovat deduplikovaná data, nebo smazat to, co v dočasné tabulce není.
pokud by to někoho zajímalo, šlo by to i přes DISTINCT, domnívám se pseudokódem:
1. CREATE TABLE AS SELECT DISTINCT sloupec_s_duplicitou, ... tím se vytvoří nová tabulka s daty, ale nový sloupec má unikátní hodnoty. 2. odmazat starou tabulku a používat jen novou. před tím vším nejdřív backup
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.