07. november 2005 - 13:17
Der er
18 kommentarer og 1 løsning
Dublet søgning
Hej, En som tilfældigvis har et script liggende til at søge efter dubletter i en tabel ? Fx. at 2 eller flere har samme medlemsnr ? Fra Leif
Annonceindlæg fra Barco
07. november 2005 - 13:20
#1
Du kan lave det i een SQL sætning. select column,count(1) from table GROUP BY column HAVING count(1) > 1;
07. november 2005 - 13:22
#2
Dvs. at det ville fx være: select Medlemsnr,count(1) from Medlemer GROUP BY Medlemsnr HAVING count(1) > 1;
07. november 2005 - 13:23
#3
præcis
07. november 2005 - 13:34
#4
Hmm, kan jeg også få fx. Alle Navne som har samme nr., så jeg kan se at både Leif og Leif1 har samme nr. ?
07. november 2005 - 13:37
#5
Hvordan vi du have det. Vi har jo smækket databaseoutputtet sammen så der for hver række kun er eet nummer. Men du vil også have af vide hvilke navne der har numrene?
07. november 2005 - 13:39
#6
Det er måske muligt, hvis du benytter MySQL, da den har noget der hedder GROUP_CONCAT. Ikke at det er særlig kønt.
07. november 2005 - 13:47
#7
Ja, tak ! Jeg benytter selvfølgelig MySQL ! Det er kun midlertidigt, da der normalt ikke skal være 2 eller flere med samme medlemsnr.
07. november 2005 - 13:50
#8
Bare så jeg forstår dig korrekt etc vil du for eksempel have det på formatet: +-----------+----------+-------------------------------------------------------+ | Medlemsnr | count(1) | navne | +-----------+----------+-------------------------------------------------------+ | 1 | 2 | Jesper, Åge | +-----------+----------+-------------------------------------------------------+ | 2 | 3 | Hans, Klaus, Mogens | +-----------+----------+-------------------------------------------------------+ Eller er du ude i noget navnet?
07. november 2005 - 13:50
#9
hehe.. det så langt bedre ud i min editor
07. november 2005 - 13:51
#10
og det er da ikke en selvfølge at du benytter MySQL. Jeg benytter sjældent MySQL.
07. november 2005 - 13:55
#11
og hvilken version af MySQL benytter du?
07. november 2005 - 13:57
#12
Okay ! :D Er bare tilhænger af opensource ! Hvad bruger du så ? Sådan kunne det sagtens se ud, udseendet som sådan lidt lige meget da feltet skal laves om til unikt nummer så det er en engangs forstilling at scriptet skal bruges. Pt. 4.0.18 og kører snart 4.0.24
07. november 2005 - 14:03
#13
Jeg benytter Postgresql [1], der også er ganske opensource. Jeg tror du kan lave din query som
select Medlemsnr,count(1),GROUP_CONCAT(DISTINCT navnekolonne ORDER BY navnekolonne ASC SEPARATOR ',') as navne from Medlemer GROUP BY Medlemsnr HAVING count(1) > 1;
[1]
http://www.postgresql.org/
07. november 2005 - 14:04
#14
Jeg kan så se at GROUP_CONCAT hører til version 4.1 og frem. Så den kan du alligevel ikke bruge.
07. november 2005 - 14:17
#15
Okay, fandt en OK løsning da det er midlertidigt. Først en: select Medlemsnr,count(1) from Medlemer GROUP BY Medlemsnr HAVING count(1) > 1; Og i løkken lavede jeg en løkke som byggede på: select Fornavn,Medlemsnr from Medlemer WHERE Medlemsnr LIKE "'.$row["Medlemsnr"].'" Smid et svar.
07. november 2005 - 14:22
#16
oki.
07. november 2005 - 14:23
#17
Forstod du det jeg sagde ?
07. november 2005 - 14:24
#18
Det tror jeg. Er der stadig noget du er i tvivl om?
08. november 2005 - 10:04
#19
Nope !
Vi tilbyder markedets bedste kurser inden for webudvikling