Toon posts:

[mysql] alleen maximale waarde selecteren

Pagina: 1
Acties:
  • 63 views sinds 30-01-2008

Verwijderd

Topicstarter
Sorry voor de brakke topic titel, maar ik weet het ook niet te formuleren ...

Ik heb de volgende query:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
SELECT
    `A`.`lng_AfspraakID`, 
    `A`.`lngEditieID`, 
    `A`.`txtStatus`, 
    `K`.`lng_ClientID`, 
    `R`.`lng_OmzetregelID`, 
    `S`.`lng_StaatID`, 
    `U`.`lng_DataID`, 
    `U`.`lngJaar`, 
    `U`.`lngWeeknr` 
FROM 
    `tblAfspraken`      `A`, 
    `tblKlanten`        `K`, 
    `tblContracten`     `C`, 
    `tblOmzetregels`    `R`, 
    `tblOmzetstaten`    `S`, 
    `tblUitgaven`       `U` 
WHERE 
    `A`.`lngContractID`     = `C`.`lng_ContractID`  AND 
    `C`.`lngClientID`   = `K`.`lng_ClientID`    AND 
    `A`.`txtStatus`     LIKE "%gesloten%"   AND 
    `A`.`lngEditieID`   = 7             AND 
    `K`.`blnK_Uitgeschakeld`= 0             AND 
    `K`.`lng_ClientID` NOT IN(36,528,567,575,616,655,705,852,906,1503,1747,2067) AND 
    `A`.`lng_AfspraakID`    = `R`.`lngAfspraakID`   AND 
    `R`.`lngStaatID`    = `S`.`lng_StaatID`     AND 
    `S`.`lngUitgaveID`  = `U`.`lng_DataID` 
ORDER BY 
    `K`.`lng_ClientID`  ASC, 
    `U`.`lngJaar`       DESC, 
    `U`.`lngWeeknr`     DESC


Dan krijg ik bijvoorbeelde volgende resultaten:
[img=http://img357.imageshack.us/img357/809/output6xj.th.gif]

Er zijn nog veel meer resultaten, maar om het overzichtelijk te houden, laat ik alleen de resultaten van 1 lng_ClientID zien.
Nu wil ik dus uiteindelijk alleen de regel met lng_OmzetregelID 83861 overhouden.
Maar dit krijg ik dus niet voor elkaar.

Ik heb GROUP BY lng_ClientID geprobeerd, maar dan houd ik alleen de regel met lng_OmzetregelID 25535 over! Dus de onderste regel. Dus ik dacht slim te zijn en de ORDER BY aan te passen met ASC ipv DESC. Maar ook dan houd ik alleen 25535 over!

Iemand enig idee hoe ik dit wel goed kan filteren?!

  • PhoeniX-
  • Registratie: Juni 2000
  • Laatst online: 14-04 07:14

  • bigbeng
  • Registratie: Augustus 2000
  • Laatst online: 26-11-2021
Group By zonder aggregate functie? Heb je MAX(lng_OmzetregelID) al geprobeerd? Ik weet dat MySql zelfs zonder group by nog met een resultaat terugkomt.
Maar goed, het lijkt erop dat je pas net komt kijken in de SQL wereld, dus misschien is dit een goed startpunt is:
http://www.w3schools.com/sql/default.asp

  • whoami
  • Registratie: December 2000
  • Laatst online: 23:03
Hoi,
Kijk eens hier naar:
P&W FAQ - SQL

Verder is dit iets basics wat je in iedere tutorial over sql kunt terugvinden, dus de link die bigbeng je geeft zal je zeker kunnen gebruiken.
Heb je MAX(lng_OmzetregelID) al geprobeerd? Ik weet dat MySql zelfs zonder group by nog met een resultaat terugkomt.
Ieder DBMS kan dat hoor. Als je gewoon een max doet op een column (zonder dat je andere velden selecteert), dan returned het dbms gewoon de hoogste waarde in die tabel.

[ Voor 39% gewijzigd door whoami op 28-10-2005 15:00 ]

https://fgheysels.github.io/


Dit topic is gesloten.