Avatar billede Slettet bruger
29. januar 2004 - 12:40 Der er 3 kommentarer og
1 løsning

COUNT( stjerne ) og GROUP BY

Hej,


Jeg har følgende tre forespørgsler

sql = "SELECT id, antalsvar, titel, forfatter, oprettet, COUNT(*) AS antal FROM posts ORDER BY " & strSort & " LIMIT " & intStart & ", " & intAntalVis & ";"

sql = "SELECT id, antalsvar, titel, forfatter, oprettet, COUNT(*) AS antal FROM posts WHERE (titel LIKE '%" & strSoegeOrd & "%') ORDER BY " & strSort & " LIMIT " & intStart & ", " & intAntalVis & ";"

sql = "SELECT DISTINCT posts.id, posts.antalsvar, posts.titel, posts.forfatter, posts.oprettet, svar.postid, COUNT(*) AS antal FROM svar INNER JOIN posts ON svar.postid = posts.id WHERE  (svar.indhold LIKE '%" & strSoegeOrd & "%') ORDER BY " & strSort & " LIMIT " & intStart & ", " & intAntalVis & ";"

og jeg har brug for at vide præcis hvor mange tupler hver forspørgsel returnerer og tænkte jeg ville gøre det med COUNT(*) men jeg kan ikke få det til at virke. Jeg har prøvet at tage alle de elementer jeg selecter og gruppere på dem, men det giver ikke det rigtige.
Avatar billede arne_v Ekspert
29. januar 2004 - 14:44 #1
SELECT COUNT(*) FROM ... WHERE ...

returnerer det totale antal.

SELECT felt1,...,feltx,COUNT(*) FROM ... WHERE ... GROUP BY felt1,...,feltx

returnerer antallet for hver unik kombination af felt1...feltx

Jeg tro drfor at du enten skal undlade nogle selectede felter eller
have emn masse felter i GROUP BY.

Du kan normalt ikke både hente alle data og få antallet i 1 query, så laver du først
en COUNT og så henter du data bagefter.
Avatar billede Slettet bruger
29. januar 2004 - 14:56 #2
>Du kan normalt ikke både hente alle data og få antallet i 1 query, så laver du først
>en COUNT og så henter du data bagefter.

Hermed gjort :)
Avatar billede Slettet bruger
29. januar 2004 - 14:56 #3
smid et svar
Avatar billede arne_v Ekspert
29. januar 2004 - 16:42 #4
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
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