Hoe haal ik de datum en de hoogste score uit een tabel?
Ik heb een tabel waar aanvragen in staan met o.a. de volgende kolommen:
ID (int)
datum (date)
Er zijn meerdere aanvragen per dag en ik zoek een query die mij de dag geeft met de meeste aanvragen en de daarbij behorende waarde, dus b.v. 2013-04-12 heeft met 60 aanvragen de meeste aanvragen op een dag behaald.
Nu zal dit iets moeten worden met MAX, COUNT en GROUP BY maar het lukt niet om de juiste query te maken.
Ik heb momenteel staan :
Code (php)
1
SELECT MAX(hoogste) FROM (SELECT datum, COUNT(*) as hoogste FROM overzicht as alias_aantal GROUP BY datum ) as alias_hoogste
Maar dan krijg ik als uitkomst "array" wat natuurlijk niet correct is ;-)
Iemand enig idee hoe ik de datum en de hoogste waarde uit de query krijg?
Met vriendelijke groeten,
Arie
Sorry, misschien zie ik het even helemaal verkeerd maar volgens mij zoek je alleen dit.
Volgens mij levert dit op wat je vraagt, hoewel ik niet helemaal zeker ben van wat voor data je nu werkelijk in je tabel hebt zitten.
Code (php)
1
2
3
4
5
2
3
4
5
SELECT COUNT(*) AS hoogste, datum
FROM overzicht
GROUP BY datum
ORDER BY hoogste DESC
LIMIT 1
FROM overzicht
GROUP BY datum
ORDER BY hoogste DESC
LIMIT 1
Arie Kant op 07/05/2013 10:55:02:
Maar dan krijg ik als uitkomst "array" wat natuurlijk niet correct is ;-)
Wat natuurlijk WEL correct is. Je krijgt ALTIJD een array terug. Soms een lege array, soms een array met 1 element, soms met een heleboel elementen.
Gewijzigd op 07/05/2013 11:11:45 door Erwin H
Volgens mij niet want hoogste is geen kolom in de tabel.
Ik wil het hoogste aantal aanmeldingen hebben welke ooit op 1 dag behaald zijn, het zogenaamde 'all time high record' .......... ;-)
Daarvoor moet ik volgens mij een SELECT maken waarin eerst alle aanvragen staan per dag (GROUP BY datum) en daarna met MAX de hoogste datum eruit halen maar helaas lukt het nog niet met wat ik hebt gemaakt.
Toevoeging op 07/05/2013 11:24:53:
Hoi Erwin en Albert,
Ik zat inderdaad veel te moeilijk te doen ........... ;-)
De ORDER BY met de LIMIT geeft natuurlijk ook gewoon de hoogste waarde uit de SELECT query.
Bedankt voor het meedenken!