Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

kako izbaciti duplikate

[es] :: Baze podataka :: kako izbaciti duplikate

[ Pregleda: 5280 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

NetworkAdmin

Član broj: 4445
Poruke: 609
209.10.134.*



Profil

icon kako izbaciti duplikate04.10.2002. u 13:01 - pre 262 meseci
mysql pitanje

Recimo imama tabelu u kojoj index kolonu sa 1, 2, 3, 4, 4, 5, 5, 5, 6, 7, 8, 8, 9, 9, 9, 10...

I sada hocu da izbacim duplikate redove sve 4, 5, 5, 8, 9, 9..
 
Odgovor na temu

mbabuskov
Milan Babuškov
Subotica

Član broj: 4718
Poruke: 217
*.suoffice.EUnet.yu

Sajt: www.comp.rs/izradasajta


+6 Profil

icon Re: kako izbaciti duplikate05.10.2002. u 13:43 - pre 262 meseci
U normalnim relacionim bazama podataka (Oracle, MSSQL, Informix, Firebird) ... mozes da uradis ovo:

delete from tabela t1 where 1 <> (select count(*) from tabela t2 where t1.id = t2.id)


Ali mysql je prilicno jadan za iole komplikovanije stvari. Najbolje da napises php program koji ce da isbrise suvisne redove...

 
Odgovor na temu

Riste Pejov
Team Leader/Senior Software Developer @
Ein-Sof ltd Skopje
Skopje, Macedonia

Član broj: 128
Poruke: 571
62.162.102.*

Jabber: richie@bagra.net.mk
ICQ: 154236769
Sajt: riste.softver.org.mk


Profil

icon Re: kako izbaciti duplikate07.10.2002. u 08:33 - pre 262 meseci
Stvarno ne znam sta hoces reci sa "izbacim" ?

ali ukoliko ne zelis ih obrisati iz tabele nego sam da u query ne dobijes
duplikate, onda mozes iskoristiti DISTINCT

a ukoliko zelis spreciti unos duplikata onda postavi Primary Key na istoj koloni, ili samo dodaj UNIQUE constraint.
People who think they know everything tend to irritate those of us who do.
 
Odgovor na temu

dinke
Dragan Dinić
General Manager / Lampix.net
Beograd

Član broj: 933
Poruke: 1008
*.boox.co.yu

Sajt: www.dinke.net


+2 Profil

icon Re: kako izbaciti duplikate07.10.2002. u 12:49 - pre 262 meseci
Da bi izbacio i /ili sprecio dalji unos duplikata u neku kolonu, nepophodno je da ta kolona bude definisana kao "unique" ili "primary key". Obzirom da ti to verovatno nisi ucinio prilikom kreiranja tabele, posao ce odraditi sledeci MySQL query:

ALTER IGNORE TABLE ime_tabele CHANGE COLUMN staro_ime_colone novo_ime_colone SMALLINT UNSIGED NOT NULL PRIMARY KEY;

U slucaju da vec imas jedan primary key u datoj tabeli, onda moras koristiti UNIQUE umesto primary key u datom upitu.

Btw, komentar gospodina mbabuskov o MySQL-u nema blage veze sa realnoscu, ali mislim da je o tome vec dovoljno pisano na ovom istom forumu.

pozdrav
D
 
Odgovor na temu

mbabuskov
Milan Babuškov
Subotica

Član broj: 4718
Poruke: 217
*.suoffice.EUnet.yu

Sajt: www.comp.rs/izradasajta


+6 Profil

icon Re: kako izbaciti duplikate07.10.2002. u 12:57 - pre 262 meseci

Citat:
Da bi izbacio i /ili sprecio dalji unos duplikata u neku kolonu, nepophodno je da ta kolona bude definisana kao "unique" ili "primary key". Obzirom da ti to verovatno nisi ucinio prilikom kreiranja tabele, posao ce odraditi sledeci MySQL query.


Mislim da je covek pitao Kako da izbaci redove. Dakle, kako da ih izbrise. Ok, ako je MySQL tako dobar, pokazite mi upit koji moze da izbrise duplikate iz tabele. (Pa moci ce jednog dana kada bude podrzavao pod-upite ili stored procedure) da do tada treba zasukati rukave. :)

Riste je dao predlog za SELECT DISTINCT, ali onda a imas redove koji nisu identicni, vec im je samo kolona id ista, dobijas opet duplikate.

Dakle, branioci MySQL-a, ocekujem vas odgovor, po mogucnosti u SQL jeziku.
 
Odgovor na temu

dinke
Dragan Dinić
General Manager / Lampix.net
Beograd

Član broj: 933
Poruke: 1008
*.boox.co.yu

Sajt: www.dinke.net


+2 Profil

icon Re: kako izbaciti duplikate07.10.2002. u 13:12 - pre 262 meseci
Odgovor na tvoje pitanje je ALTER IGNORE ... SQL query iz mog prethodnog posta. Dakle on ce iz te postojece tabele izbrisati sve duplikate.

Sto se tice podupita, transakcija, stored procedura, pogleda i sl. skokni malo na www.mysql.com ili jos bolje na http://www.elitesecurity.org/tema/2953 pa ces videti da novije verzije MySQL-a to vec podrzavaju.

 
Odgovor na temu

Riste Pejov
Team Leader/Senior Software Developer @
Ein-Sof ltd Skopje
Skopje, Macedonia

Član broj: 128
Poruke: 571
62.220.217.*

Jabber: richie@bagra.net.mk
ICQ: 154236769
Sajt: riste.softver.org.mk


Profil

icon Re: kako izbaciti duplikate07.10.2002. u 18:41 - pre 262 meseci
Pa da je MySQL mogao da svari sve te stvari, onda ne bi bio toliko lak za rad i ne bi ga imao svaki web hosting provider , i nije bi imao toliko velike korisnicke baze .... sto znaci ... kad vec zelis da uporedjujes, jedino ga mozes uporediti sa MS access-om , ali za seriozne poslove ... samo mozes lupati glavu od dzid jedno mesec dana i onda portovati aplikaciju na neku drugu bazu

Been there, done that.
i ja sam nekad (jos dok sam bio mlad i blesav) mislio da je MySQL fenomenalan, dok nisam otkrio stored procedure, subselecte i cursore ....
People who think they know everything tend to irritate those of us who do.
 
Odgovor na temu

[es] :: Baze podataka :: kako izbaciti duplikate

[ Pregleda: 5280 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.