Avatar billede -thomas- Nybegynder
20. december 2003 - 09:24 Der er 7 kommentarer og
1 løsning

Hent unikke numre

Jeg har følgende sql, som henter antal unikke numre pr. måned:

SELECT COUNT(DISTINCT Nummer) AS AntalUnikkeNumre FROM tabel GROUP BY date_format(Date,'%m')´

Jeg ville gerne have, at hvis samme nummer ligger der to gange på én måned, tæller det som to istedet for én. Altså så den tæller unikke op for hver dag i måneden og lægger den sammen.

Hvordan kan jeg få den til det?
Avatar billede detox Nybegynder
20. december 2003 - 10:31 #1
Prøv uden DISTINCT:

SELECT COUNT(Nummer) AS AntalUnikkeNumre FROM tabel GROUP BY date_format(Date,'%m')
Avatar billede -thomas- Nybegynder
20. december 2003 - 10:37 #2
Det vil jo give antallet af numre IALT hver måned.

Det samme nummer må kun tælle én gang pr. dag, men hvis det kommer igen dagen efter skal det tælle som et til.
Avatar billede detox Nybegynder
20. december 2003 - 10:45 #3
Ahh, kunne du så ikke lave GROUP BY på dagen istedet:

SELECT COUNT(DISTINCT Nummer) AS AntalUnikkeNumre FROM tabel GROUP BY date_format(Date,'%j') ORDER BY Date
Avatar billede -thomas- Nybegynder
20. december 2003 - 10:58 #4
Nej, for jeg skal bruge alle numre pr. måned - ikke pr. dag.

Denne sql giver det rigtige antal for november måned:

SELECT DISTINCT Nummer, Date FROM tabel WHERE Year(Date) = 2003 AND Month(Date) = 11

Men hvordan får jeg med én sql talt det rigtige antal for alle 12 måneder?
Avatar billede -thomas- Nybegynder
20. december 2003 - 11:04 #5
Hov, nu tror jeg, at jeg fandt ud af det:

SELECT COUNT(DISTINCT Nummer, Date) AS AntalUnikkeNumre FROM tabel GROUP BY date_format(Date,'%m')

Jeg tjekker lige om det virker....
Avatar billede -thomas- Nybegynder
20. december 2003 - 11:06 #6
Jep, det var bare det der skulle til. Tak for hjælpen - skal vi dele pointene?
Avatar billede detox Nybegynder
20. december 2003 - 11:08 #7
He, jeg gik lige og tænkte på den samme løsning, som du nåede til. Men nu fandt du den jo selv først, så tag du bare pointene ;o)
Avatar billede -thomas- Nybegynder
20. december 2003 - 11:18 #8
Ok, men tak for forsøget i hvert fald - havde troet at løsningen var lidt mere kompliceret, men sådan er det jo tit :-)
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