Avatar billede semiprofkode Nybegynder
17. november 2005 - 14:28 Der er 14 kommentarer

Endnu et dublet problem

Jeg har tre millioner svar i en 'svar' tabel.

ca. 2,7 mil er dubletter pga. en mislykket import funktion som lavede dubletter i stor stil.

kolonner:
svarText  emneid  questionid

hvordan får jeg slettet alle dubletter,
som er records med samme emneid og questionid ?
Avatar billede fennec Nybegynder
17. november 2005 - 14:36 #1
Du kan lave en temp tabel, hvor du henter alle over i med en "select distinct". Du kan så flytte dem tilbage igen.
Avatar billede semiprofkode Nybegynder
17. november 2005 - 14:55 #2
ok, men så skulle jeg lave en select distinct på alle emneid'erne hentet fra tabellen emne. Hvordan ville det se ud i mySQL ?
Avatar billede fennec Nybegynder
17. november 2005 - 14:59 #3
insert into tempTab(emneid,questionid) select distinct emneid, questionid from masterTab

Hvad med svarText, skal den ikke med over også?? Det kræver dog at den også er ens..
Avatar billede semiprofkode Nybegynder
17. november 2005 - 15:06 #4
jo, den skal også med, og de er også ens. Hvordan hvordan?
Avatar billede semiprofkode Nybegynder
17. november 2005 - 15:11 #5
insert into anwserkopi (anwser,emneid,questionid,tilknyttet) select distinct anwser,emneid, questionid, tilknyttet from anwser

dette kopierede nøjagtig 1000 rows i mySQL control center. Lugter af en begrænsning på 1000.
Avatar billede fennec Nybegynder
17. november 2005 - 15:17 #6
Hvilken version af MySQL kører du??
Avatar billede semiprofkode Nybegynder
17. november 2005 - 15:22 #7
mysql-4.0.14b
Avatar billede fennec Nybegynder
17. november 2005 - 15:28 #8
Der står ikke noget om en begrænsning i MySQL manualen:
http://dev.mysql.com/doc/refman/4.1/en/insert-select.html

Nu er jeg lost...
Avatar billede semiprofkode Nybegynder
17. november 2005 - 15:37 #9
ok, jeg tænkte det var control centeret som lavede begrænsningen og kørte sætningen direkte i koden på systemet, hvilket gav omkring 140.000 hvilket også er antallet af emner.

Vil det sige at sætningen kun giver et svar pr emne? der kan jo godt være flere svar pr emne.
Avatar billede fennec Nybegynder
17. november 2005 - 15:57 #10
Den indsætter det som:
select distinct anwser,emneid, questionid, tilknyttet from anwser
..returnere.

Tror vi snakker lidt forbi hinanden angående hvilke tabeller, der er tale om. Kan du ikke lige beskrive din database (tabeller og kolonner), og hvilken tabel der er dubletter i...
Avatar billede semiprofkode Nybegynder
17. november 2005 - 16:16 #11
tror den er der nu, ved første øjekast så det ikke rigtigt ud, men nu ser det ud til at sætningen henter alle records fra originalen men aldrig to ens. Korrekt?
Avatar billede fennec Nybegynder
17. november 2005 - 16:20 #12
Jeps. "distinct" sikre at der ikke er dubletter.
Avatar billede semiprofkode Nybegynder
17. november 2005 - 16:23 #13
SÅDAN DA. nu kører det. Vi snakkede ikke forbi hinanden, resultatet så bare forkert ud ved første øjekast, men holdt alligevel i længden.
Avatar billede fennec Nybegynder
18. november 2005 - 09:02 #14
Så er alt jo godt :o)

.o) <-- One Eyed Jack
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester