phpbar.de logo

Mailinglisten-Archive

Schon wieder Fragen zu group by

Schon wieder Fragen zu group by

Tim TConnect at gmx.net
Mon Feb 28 12:51:57 CET 2005


Hallo zusammen,

ich habe schon wieder eine Frage zu GROUP BY. Ich stehe - schon wieder - vor
dem Problem, dass ich eine entsprechende Ausgabe nicht so hinbekomme, wie
ich das gerne hätte. Hintergrund:

Es gibt in meiner DB verschiedene Projekte, zu denen über eine
NM-Verknüpfung verschiedene Personen zugeordnet werden können.


projekte
------------------------
projektname
------------------------
projekt1
projekt2
projekt3

[...]
projektN
------------------------


Die NM-Tabelle sieht so aus

-----------------------
prjkektname   username
projekt1      user1
projekt2      user1
projekt3      user1
projekt1      user2

[...]

projektN      userN
-----------------------


Jetzt ist es ja ganz einfach, die Anzahl der zugewiesenen Benutzer pro
Projekt rauszufischen

SELECT projektname, COUNT(username) FROM projektname WHERE projektname like
'projekt1'

Hier erzeugt mir SQL in der Ausgabemenge eine Tabelle mit einer Zeile und
einer Spalte, in der das Ergebnis steht:

--------
2
--------


Jetzt habe ich aber das Problem, dass einige Projekte logisch zusammen
gehören, und ich herausfinden muß, wie viele Personen z.B: in Projekt 1, 3
und 10 stecken - und zwar so, dass dieselben Benutzernamen, die überall
vorkommen, nur ein einziges Mal gezählt werden dürfen.

SELECT projektname, COUNT(username) FROM projektname WHERE projektname like
'projekt1' OR projektname like 'projekt3' OR projektname like 'projekt10'
GROUP BY projektname

Hier erhalte ich dann eine Liste, die in etwa so aussieht

-------------------------
projekt1           2
projekt3           1
projekt10          8
-------------------------

Aber: Es ist sicher, dass doppelte Benutzernamen eben *nicht* rausgefiltert
wurden und als ein einziger zusammengefaßt sind. Wie kann ich es also
schaffen, dass doppelte Benutzer in verschiedenen Projekten als 1 gezählt
werden?



Danke für Eure Hilfe.

Grüße Tim

-- 
Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
-->>  http://www.4t2.com/mysql 


php::bar PHP Wiki   -   Listenarchive