Beste mensen,

Ik heb een tabel met bestellingen die heet Kaarten.
Nu wil ik graag een overzicht weergeven waarbij ik alleen de Naam van de klant zie en daarachter het getal hoeveel keer hij/zij een bestelling heeft gedaan.
Ik kom er niet uit, wie wil mij helpen?

Groet,

Nanno
Geen idee hoe jouw database eruit ziet, dus ik doe een gokje om je de juiste richting op te helpen:

SELECT
  naam,
  COUNT(*) AS aantal
FROM
  kaarten
GROUP BY
  naam

Wel vreemd dat je naam van de klant bij de bestellingen hebt staan, normaal staat dat in een aparte tabel die met een id is gekoppeld.

Mocht je de query aanpassen, let er dan heeeel goed op dat je wel correcte SQL blijft schrijven. MySQL accepteert namelijk ook foute SQL en gaat dan resultaten verzinnen... Alle kolommen die je in de SELECT benoemt en die niet in een aggregate functie staan (COUNT in dit geval), moeten in de GROUP BY staan. Doe je dat niet, krijg je een foutmelding (bij alle normale databases en soms bij MySQL) of klinklare onzin (9 van de 10 MySQL-databases).
Thanks!!!
Het werkt.
Ik zat al met num_rows te stoeien, maar dat werkt niet.

Op naar de volgende uitdaging. Gegevens combineren uit 2 tabellen en hetzelfde als resultaat gaan weergeven.

Ik gebruik geen login voor bestellingen. Vandaar dat de naam etc meerdere malen voorkomt omdat het enkel om het reserveren van kaarten gaat. Ik ben er ook wel achter gekomen dat hier nadelen aan kleven, maar dat is wat de klant wil.

Bedankt in ieder geval voor je reactie.

Groet,

Nanno

Reageren