Avatar billede mr-iceman Nybegynder
26. april 2003 - 23:23 Der er 9 kommentarer og
1 løsning

"Tæl" distinct i SQL

Hejsa...

Jeg er en flittig bruger af distinct funktionen i SQL... men hvordan får man den til også at tælle ???

F.eks sådan at

HEJSA
HEJSA
HEJSA
HEJSA
HEJSA
HEJSA

bliver til: HEJSA (6)
Avatar billede arne_v Ekspert
26. april 2003 - 23:26 #1
Måske:

SELECT feltnavn,COUNT(*) FROM tabelnavn GROUP BY feltnavn;
Avatar billede mr-iceman Nybegynder
26. april 2003 - 23:33 #2
Hvordan ?
Avatar billede arne_v Ekspert
26. april 2003 - 23:42 #3
Ovenstående SQL bør vise værdi og antal forekomster for <feltnavn> i <tabelnavn>.

Du kan selv prøve i direkte SQL.

Jeg kender ikke PHP, så det kan jeg ikke give dig, men det er bare
en helt normal query der returnerer to felter: feltnavn og et integer felt.
Avatar billede mr-iceman Nybegynder
26. april 2003 - 23:49 #4
hvad skal man så skrive for at få vist antal forekomster...
Avatar billede arne_v Ekspert
26. april 2003 - 23:53 #5
Altså hvis en tabel T har et felt F med 5 records:
A
B
A
A
B
så vil:
SELECT F,COUNT(*) FROM T GROUP BY F;
vise:
A 3
B 2
Avatar billede arne_v Ekspert
26. april 2003 - 23:54 #6
Hvis du kun vil have B så vil:
SELECT COUNT(*) FROM T WHERE F='B';
vise:
2
Avatar billede mr-iceman Nybegynder
27. april 2003 - 00:02 #7
nej tallet kommer ikke
Avatar billede jakoba Nybegynder
27. april 2003 - 02:24 #8
med lidt php kode tilføjet til arne-v's svar bliver det:

$sql_kommando = "
    SELECT feltnavn, COUNT(*) as antal
    FROM tabelnavn
    GROUP BY feltnavn
";      //note til arne: ingen ';' forenden af mysql-kommandoen

$resultatset = mysql_query( $sql_kommando ) or die( mysql_error() );

while ( $rekke = mysql_fetch_array( $resultatset ) ) {
    echo  "feltnavn: " .$rekke['feltnavn'] ." findes " .$rekke['antal'] ." gange.<br>";
}

feltnavn skal erstattes med navnet på dit felt. antal er et navn vi opfinder for at kunne referere til optællingen.

mvh JakobA
Avatar billede mr-iceman Nybegynder
27. april 2003 - 11:59 #9
tak for hjælpen !!!

vil du også have point jakob ???
Avatar billede jakoba Nybegynder
27. april 2003 - 13:37 #10
det var arnes svar :-)
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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