Avatar billede 123maka Nybegynder
06. oktober 2008 - 15:42 Der er 3 kommentarer og
2 løsninger

Arbejde med dates

Hej eksperter.

Jeg har et problem i en applikation jeg er ved at skrive, jeg benytter mig af nogle transaktioner som der bliver lavet over nogle dage, måneder og år. Jeg benytter mig af DATE-typen i MySQL.

Mit problem er at jeg skal finde ud af hvilke måneder og år som er forskellige, dvs. ingen dubletter. Jeg kunne selvfølgelig løse det i mit programmeringssprog og brute-force mig igennem det, men er der ikke en bedre løsning?

Hvis jeg har denne liste i formen YYYY-MM-DD:
2008-10-23
2008-10-22 // Denne er en dublet af ovenstående
2007-09-23
2007-10-23
2007-11-23

Så ville jeg gerne have den til at returnere:
2008 10
2007 09
2007 10
2007 11

På forhånd tak.
Avatar billede arne_v Ekspert
06. oktober 2008 - 15:50 #1
Typisk vil man labe noget a la:

SELECT YEAR(felt),MONTH(felt),COUNT(*)
FROM tabel
GROUP BY YEAR(felt),MONTH(felt)
Avatar billede coderdk Praktikant
06. oktober 2008 - 22:12 #2
SELECT DATE_FORMAT(dit_felt, '%Y %m') AS aar_maaned FROM dintabel GROUP BY aar_maaned

måske?
Avatar billede 123maka Nybegynder
07. oktober 2008 - 01:08 #3
Begge virker, og med lidt optimering kan jeg få det til at virke på min side. Tak skal i have, opretter i svar?
Avatar billede coderdk Praktikant
07. oktober 2008 - 01:48 #4
:)
Avatar billede arne_v Ekspert
07. oktober 2008 - 01:55 #5
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