Avatar billede madiedk Nybegynder
15. februar 2008 - 15:38 Der er 10 kommentarer og
1 løsning

sql sætning største beløb pr måned

Hej

jeg har en tabel med følgende struktur:

ID  DATO            BELØB
3    01-01-07        300
3    04-01-07        302
3    01-02-07        334
3    24-02-07        252


jeg vil gerne have en sql forspørgsel der returnerer beløbet for den største dato i hver måned
Avatar billede pgroen Nybegynder
15. februar 2008 - 15:54 #1
Mener du noget i stil med:

SELECT belob, dato
  FROM din_tabel
WHERE dato = (SELECT  MAX (dato)
                  FROM din_tabel
              GROUP BY TRUNC (dato, 'mm'));

?
Avatar billede michael_stim Ekspert
15. februar 2008 - 15:58 #2
MAX(beløb) Måske
Avatar billede michael_stim Ekspert
15. februar 2008 - 15:59 #3
Næ, havde vist ikke læst ordentligt. Så bare overskriften.
Avatar billede michael_stim Ekspert
15. februar 2008 - 16:00 #4
Og får man ikke fejl, når den returnere mere end et resultat?
Avatar billede arne_v Ekspert
15. februar 2008 - 16:16 #5
SELECT MAX(beloeb),MONTHORWHATEVERITISCALLED(dato),YEARORWHATEVERITISCALLED(dato)
FROM tabel
GROUP BY MONTHORWHATEVERITISCALLED(dato),YEARORWHATEVERITISCALLED(dato)

hvis du fortaeller hvilken database kandu faa rigtige funktionsnavne
Avatar billede michael_stim Ekspert
15. februar 2008 - 16:19 #6
arne_v: Det er lidt uklart hvad spørger vil have.

Overskrift:
"sql sætning største beløb pr måned"

Længere nede:
"jeg vil gerne have en sql forspørgsel der returnerer beløbet for den største dato i hver måned"
Avatar billede madiedk Nybegynder
15. februar 2008 - 16:32 #7
ja undskyld, glem overskriften
Avatar billede madiedk Nybegynder
15. februar 2008 - 16:33 #8
det er en oracle database
Avatar billede madiedk Nybegynder
16. februar 2008 - 17:12 #9
har prøvet pgroens forespørgsel men den ved ikke hvad trunc betyder. jeg tester det på en access database hjemmefra her i weekenden, men det er en oracle det skal bruges på. nogle andre foreslag?
Avatar billede madiedk Nybegynder
16. februar 2008 - 20:01 #10
fandt løsningen SELECT beløb, dato
  FROM his
WHERE dato in (SELECT  MAX (dato)
                  FROM his
where id = 1
              GROUP BY month(dato));
Avatar billede madiedk Nybegynder
18. februar 2008 - 18:34 #11
pgroen for point, for inspirationen til den løsning jeg valgte.
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