Nu kunnen gebruikers hun keuze maken d.m.v een formulier, alleen nu moeten er dus limieten aan keuzes worden ingesteld! Oftewel: als keuze 5 meer dan 754 voorkomt dan moet hij iet's niet echoen, komt het minder dan 754 keer voor dan moet hij wel iet's echoen.
Hoe kan ik dit oplossen!!!?
?
Onbekende gebruiker
21-05-2008 21:28
Dat kan toch gewoon zo:
Query:
SELECT *, COUNT(id) AS aantal FROM tabel WHERE keuze = 5
doet ie misschien moeilijk met de zelfde veldnaam als tabelnaam? Lijkt me erg sterk maar het blijft mysql... ;). Verder is dat sterretje niet nodig. Typ gewoon de veldnamen die je echt wilt hebben
Dat sterretje zorgt ervoor dat hij alle resultaten op wil halen die aan de voorwaarde voldoen. COUNT wil echter 1 resultaat ophalen, namelijk het aantal records dat aan de voorwaarden voldoet. Best logisch die error dus.
Probeer deze eens, dan heb je volgens mij alle aantallen van alle mogelijke keuzes in 1 keer. Scheelt je weer een hoop queries.
SELECT keuze, COUNT(keuze) as aantal FROM keuze GROUP BY keuze
Crispijn heeft dan wel ongelijk, een kolomnaam hetzelfde als een veldnaam kan wel. Hij wijst je wel op iets waar je rekening mee moet houden. Het wordt voor jou niet gemakkelijker om dingen te lezen, waar gaat het om de kolom, en waar om de tabel? Dat zal je dan uit de logica moeten opmaken.
Probeer duidelijke en verschillende tabelnamen en kolomnamen te gebruiken, dat maakt het voor jezelf wel zo gemakkelijk.
Ja, ik heb indd ongelijk met mijn veldnaam/tabelnaam duplicaten. Toch indd is dit heel slecht leesbaar. Het geeft zoals Robert zegt echt geen duidelijkheid over wat je nou precies aan het doen bent...