Avatar billede casperhojstrup Nybegynder
17. oktober 2005 - 13:54 Der er 8 kommentarer og
1 løsning

SELECT count

I en tabel har jeg:

ordrenummer, kundeid

der kan god være flere linier med samme ordrenumre, da hver vare får en linie i databasen.

Jeg vil nu gerne tælle hvor mange kunder (hver kundeid reprænsebtere en kunde) der har købt 3 gange (altså har 3 forskellige ordrenumre)

Jeg kan simpelthen ikke kringle den rette SQLlinie til min MySQL

Kan i hjælpe ?
Avatar billede jaw Nybegynder
17. oktober 2005 - 14:00 #1
Du kan prøve:
SELECT COUNT(*) as antal FROM tabel GROUP BY kundeid HAVING antal = 3
Avatar billede arne_v Ekspert
17. oktober 2005 - 14:08 #2
SELECT kundeid,COUNT(DISTINCT ordrenummer) AS n
FROM tabel
GROUP BY kundeid
HAVING n >= 3

ville være mit bud
Avatar billede casperhojstrup Nybegynder
17. oktober 2005 - 14:21 #3
Nu vælger jeg alle hvor der er min. 3 ordre.... der er jo perfekt.

Jeg ønsker dog ikke at se ordrene, men blot tælle hvor mange der er med 3 ordre ?
Avatar billede casperhojstrup Nybegynder
17. oktober 2005 - 14:22 #4
eller tager jeg fejl ?
Avatar billede casperhojstrup Nybegynder
17. oktober 2005 - 15:19 #5
Fatter INTET... denne linie tæller da ikke hvor mange kunder der er over 3 ordrenumre gør den ?
Avatar billede arne_v Ekspert
19. oktober 2005 - 20:59 #6
SELECT COUNT(*) FROM
(SELECT kundeid,COUNT(DISTINCT ordrenummer) AS n
FROM tabel
GROUP BY kundeid
HAVING n >= 3) x
Avatar billede arne_v Ekspert
19. oktober 2005 - 21:00 #7
så tæller du antal i den indre queryen (det x skal være der !)
Avatar billede arne_v Ekspert
19. oktober 2005 - 21:00 #8
og et svar
Avatar billede arne_v Ekspert
04. november 2005 - 19:12 #9
all set ?
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