Hey mensen, ik zit met een probleempje, ik ben helemaal niet goed in sql taal en ik wil het volgende: Ik heb een tabel "namen" met de velden 'naam' en 'groepnummer' nu wil ik het aantal groepen tellen, hij moet dus de groepen met hetzelfde nummer samenvoegen en als 1 groep zien.. de tabel ziet er zo uit: eerst de naam, en in het andere veld het groepnummer


naam 3
naam 3
naam 5
naam 7
naam 7

ik heb nu dit:

select count(groepnummer) as aantalgroepen from namen

maar hier komt gewoon 5 uit, hij telt dus gewoon alle rijen, hoe zorg ik ervoor dat er 3 uit komt? Was het iets met distinct of group by ofzo? Heb alles al geprobeert maar niets lukt..

alvast bedankt!
SELECT COUNT(DISTINCT(groepnummer)) AS aantalgroepen FROM namen
SELECT COUNT(groepnummer) AS aantalgroepen FROM namen GROUP BY groepnummer
thanx robert ;)
stien schreef op 20.02.2007 15:12
SELECT COUNT(groepnummer) AS aantalgroepen FROM namen GROUP BY groepnummer

@Stien

Wat je hier doet is per groep het aantal leden tellen, hij wou het aantal groepen weten ;)
Ik heb een soortgelijke vraag (denk ik)..

Ik heb 3 tabellen, waarmee ik projecten, gebruikers en de connectie tussen gebruikers beheer.

tabel 1: projects (hier staan de projecten)
tabel 2: users (hier staan de users)
tabel 3: projectuser (hier staat het project id en de user id, om te kijken welke users bij welke projecten horen)

Nu gebruik ik deze query
SELECT *
FROM users, projectuser
WHERE con_prj_id = '".$_GET['prj_id']."'
GROUP BY usr_name

Ik krijg alleen elke keer alle gebruikers te zien in plaats van alleen de gebruikers die aan de ($_GET) project id zitten?

Wat doe ik fout?
In de WHERE clause geef je niet aan in welke tabel con_prj_id staat, dit kan je op deze manier doen:
Selecet ..... WHERE tabelnaam.con_prj_id = ..rest van de query

Reageren