Sie befinden sich hier im Forenarchiv von phpforum.de wenn Sie direkt ins Forum möchten, klicken Sie bitte hier. Zur Startseite kommen Sie hier.

Problem mit Group By und Count

Hallo,


ich hänge jetzt schon eine Weile vor einem Problem und komme nicht weiter.
Ich habe 2 Tabellen, die ich mit INNER JOIN verbinde. Dann möchte ich auslesen, wieviele User einer Firma es gibt.
Soll dann zB bei folgenden Vorgaben so aussehen:

Code:                   In Zwischenablage kopieren (nur IE)
1">

Ich bekomme aber immer folgende Ausgaben:
Code:                   In Zwischenablage kopieren (nur IE)
2">

bzw
Code:                   In Zwischenablage kopieren (nur IE)
3">

Hier die Tabellen:
Code:                   In Zwischenablage kopieren (nur IE)
4">

Code:                   In Zwischenablage kopieren (nur IE)
5">

Wo liegt mein Fehler? Kann mir bitte jmd helfen. Es wäre gut, wenn erst nach u_user groupiert wird, dann u_user gezählt und dann noch nach Firma groupiert wird.
Vielen Dank schonmal.



Gruß Robert
Hier gehts zum Orginal Eintrag "Problem mit Group By und Count" im Forum

Antworten

Hi

Die Anzahl der User je Firma erhältst du mit
Code:                   In Zwischenablage kopieren (nur IE)
6">

Wenn das nicht deinem Wunsch entspricht, dann musst du dein Problem besser formulieren.


2.

1. Ich glaube, du solltest dir erstmal darüber klar werden, was deine Vorgaben sind. Einmal schreibst du:
Zitat:
Soll dann zB bei folgenden Vorgaben so aussehen:
Berlin 3
München 1

und dann wieder
Zitat:
Es wäre gut, wenn erst nach u_user groupiert wird, dann u_user gezählt und dann noch nach Firma groupiert wird.
Das passt aber nicht zusammen.
2. Zeig uns deine Tabellenstruktur.
3. Was ist u_id?
4. Ansonsten sollte die Abfrage
Code:                   In Zwischenablage kopieren (nur IE)
7">

dir das Ergebnis bringen, dass ganz oben formuliert hattest...


3.

[quote]osterix postete
Hi

Die Anzahl der User je Firma erhältst du mit
Code:                   In Zwischenablage kopieren (nur IE)
8">

Wenn das nicht deinem Wunsch entspricht, dann musst du dein Problem besser formulieren.[/quote] Hallo Osterix,
deine Lösung bringt mich absolut nicht weiter, denn du sprichst ja nur eine Tabelle an und zählst wieviele User es pro Firma insgesamt gibt.

Ich versuchs nochmal zu erklären. Ich hab ja 2 Tabellen. In der einen (personal) sind alle meine User drin. Dann habe ich noch eine Tabelle (eingaben) wo von Usern gemachte Eingaben drin stehen, dh dort müssen nicht zwingend alle User aus personal drin sein, halt nur die, die auch wirklich eingaben gemacht haben und dort können User auch mehrmals drinstehen, wenn sie halt mehrere eingaben gemacht haben.

Ich möchte jetzt ausgegeben haben, wieviele unterschiedliche User in der Tabelle eingaben drin sind und das entsprechend Ihrer Firma.
Also aus Berlin haben 3 Leute eingaben gemacht und aus München 1.
Hoffe das ist jetzt soweit verständlich.



Hallo Gary,
1. Ich finde, das unterscheidet sich nicht, wenn du dir meine geposteten Tabellen anschaust.
2. Tabellen sind doch zu sehen
3. u_id ist doch auch in den Tabellen zu erkennen, halt eine ID, wodurch erkannt wird, das alle eingaben mit der ID zusammengehören (in vorliegendem Bsp ist es die 8)
4. mit Left Join bringt er mir ja aus personal alle vorhandenen Firmen (guck dir meine Tabelle an, da gibt es zB auch Hamburg). Ich möchte aber nur die Firmen, von denen ein User bei der Tabelle "eingaben" auch etwas drin stehen hat.
Ausserdem wird mit Left JOIN auch Anzahl 18 (3 User*6Antworten) ausgegeben, und nicht nur 3 (User)


4.

Code:                   In Zwischenablage kopieren (nur IE)
9">




5.

[quote]db3 postete
Code:                   In Zwischenablage kopieren (nur IE)
10">

[/quote] SUPER, vielen vielen Dank db3!!! Ich wusste nicht, dass man innerhalb der Aggregatfunktion auch Distinct setzen kann, das hilft natürlich.
Danke auch nochmal an alle anderen, die versucht haben zu helfen

Gruß Robert


Hier gehts zum Orginal Eintrag "Problem mit Group By und Count" im Forum
 
phpforum.de | Impressum