Hoe kan ik met SQL ( viaphpmyadmin) een top 10 van de meest voorkomende vertrekplaatsen uit de database filteren?
om daar op te antwoorden hebben we volgens mij wel je database structuur nodig... in ieder geval meer info dan je nu geeft
SELECT naam FROM tabel ORDER BY COUNT(vertrekplaats) DESC
?
Ik denk dat iedereen er voor het gemak van uit kan gaan dat de database bestaat uit één tabel, met één veldnaam genaamd "vertrekplaats". (of zie ik dit verkeerd).

- De tabel bestaat uit ongeveer 10.000 records (gevuld met vertrekplaatsen)
- Ik ben benieuwd naar de top 10 ingevoerde vertrekplaatsen.
wat geeft mijn query dan? (misschien werkt deze beter:

SELECT COUNT(vertrekplaatsveld) AS aantal, vertrekplaatsnaam FROM tabel GROUP BY vertrekplaatsveld
@Terence. bedankt voor je reactie tot dusverre

SELECT vertrek FROM offerte ORDER BY COUNT(vertrek) DESC

geeft de onderstaande foutmelding.

#1111 - Invalid use of group function
Terence geeft een Query met GROUP BY, jij niet :)
Zoiezo ziet je Query er heel anders uit, probeer het eens te doen zoals Terence voorsteld
De onderstaande query groepeert de aantallen in combinatie met vertrekplaats wel, maar geeft helaas niet een top 10. Ook een toevoeging van DESC OF ASC werkt niet! Eigenlijk moet je dus groeperen op "aantal", alleen dit resulteert in een foutmelding.

---
SELECT COUNT( vertrek ) AS aantal, vertrek
FROM offerte
GROUP BY vertrek

@ Erik: Ik was nog bezig Terence zijn eerste query te proberen, terwijl een tweede query al in de maak was :-)
voor de laatste 10 gebruik je LIMIT.
ORDER BY kan je toch ook prima nog in je query verwerken?
Bingo! Bedankt voor jullie hulp!

het eindresultaat:

SELECT COUNT( vertrek ) AS aantal, vertrek
FROM offerte
GROUP BY vertrek
ORDER BY aantal DESC
en nu nog LIMIT 10 om de top 10 te bekomen.

Reageren