Avatar billede freekyzone Nybegynder
27. januar 2007 - 21:44 Der er 11 kommentarer og
2 løsninger

Kun et resultat for samme poster

Hej,

Jeg har en database med en masse navne og telefonnummer og øvrig data.

Jeg er interesseret i at se en liste over alle dem som ligger i databasen (navn og telefonnummer), men jeg er ikke interesseret i at se ex. telefonnummeret 33445566 20 gange, som måske tilhører Peter Petersen.
Det skal kun kumme ét resultat med 33445566 Peter Petersen

Hvordan gør jeg det?
Avatar billede madeindk Nybegynder
27. januar 2007 - 21:45 #1
SELECT telefonnummer DISTINCT FROM dinTabel
Avatar billede madeindk Nybegynder
27. januar 2007 - 21:46 #2
Nej. SELECT DISTINCT telefonnummer FROM dinTabel
Avatar billede freekyzone Nybegynder
27. januar 2007 - 21:50 #3
Tak, det virker.

Men nu er der kun et hits for hvert telefonnummer, men navnet vises nu ikke...
Hvorfor?

$result = mysql_query("SELECT DISTINCT tlf FROM tabel ORDER BY navn DESC");
  while ($row = mysql_fetch_array($result))
Avatar billede madeindk Nybegynder
27. januar 2007 - 21:52 #4
$result = mysql_query("SELECT DISTINCT tlf, navn FROM tabel ORDER BY navn DESC");
  while ($row = mysql_fetch_array($result))

Er ikke sikker på det vil virke, men du kan prøve :-)
Avatar billede ksoren Nybegynder
27. januar 2007 - 21:55 #5
$result = mysql_query("SELECT navn,tlf FROM tabel GROUP BY tlf ORDER BY navn DESC");
Avatar billede freekyzone Nybegynder
27. januar 2007 - 21:57 #6
Kanon - tak.

Så kan jeg se, at der er en sidste lille ting :-)

Hvis ex. Fr. Jensen og Hr Jensen har ringet, så bliver de begge listet med samme telefonnummer (godtnok kun én gang hver) - men kan det laves, så der kun vises ét resultat for telefonnummeret.

Det er ligegyldigt hvilket navn der kommer til at stå.
Avatar billede madeindk Nybegynder
27. januar 2007 - 22:01 #7
Det havde den gjort hvis du havde brugt denne her:
$result = mysql_query("SELECT DISTINCT tlf, navn FROM tabel ORDER BY navn DESC");

Men man kan godt komme ud i nogle lidt kringler kode stykker, når man kører med denne her metode, og PHP er ikke lige min stærke side.
Avatar billede freekyzone Nybegynder
27. januar 2007 - 22:02 #8
ksoren ->> du kom lige med den sidste finish jeg manglede tak.


madeindk -> Du svarede mega hurtig, og kom med størstedelen af løsningen + din løsning kommer jeg til at bruge i en anden sammenhæng snart.

I hjalp begge 100%.

Men hvis det er OK, så vil jeg fordele 9 til madeindk pga. hurtigt svar, og størstedelen af løsningen, og 6 til ksoren for den sidste finish.

Tusind tak begge to :-)
Avatar billede freekyzone Nybegynder
27. januar 2007 - 22:02 #9
- Kom lige begge med et svar :-)
Avatar billede madeindk Nybegynder
27. januar 2007 - 22:06 #10
Ok, svar.
Avatar billede ksoren Nybegynder
27. januar 2007 - 22:21 #11
ok
Avatar billede freekyzone Nybegynder
27. januar 2007 - 23:18 #12
Må jeg stille et tillægs-spørgsmål?

Ex.
Hvis jeg få hvert opkald registrer minutter, kan jeg så summere det?
Jeg kunne godt bruge en summering af $row[minutter]

Nu har I hjulpet med, at jeg får en liste med alle de telefonnummer jeg har i databasen.

Case:
Jens Jensen 33445566 har jeg registreret 3 gange med hhv. 10, 15 og 25 min (50 min i alt)

Hvordan får jeg på listen vist, at Jens Jensen 33445566 har registreret 50 min?
Avatar billede limemedia Nybegynder
28. januar 2007 - 08:43 #13
SELECT navn, tlf, SUM(minutter)
FROM tabel
GROUP BY tlf
ORDER BY navn DESC
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