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.

probleme mit group by

hi,

ich habe eine tabelle:

tanmeldungen

mit 2 zwei spalten:

id -> autoincrement
email -> varchar 250

ich habe nun 4 werte in meiner tabelle:

1 eineemail1@host.com
2 eineemail2@email.com
3 eine.email@host2.com
4 einee.mail@mailhost.com

genau das steht drin! So nun mache ich abfrage:

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

ich bekomme aber die ausgabe: 4 ausgegeben was ja richtig ist, aber die group by anweisung gibt mir immer 1 zurück! Das ist ja falsch da es normalerweise auch 4 zurückgeben müsste, da keines der datensätze identisch sind. So war es beim SQL Server.

Ich habe also eine Tabelle mit email-adressen und es kann sein das einige mehrfach vorkommen. Ich möchte diese gruppieren und nur die eindeutigen zu zählen. Was mache ich falsch??

gruß
yavuz
Hier gehts zum Orginal Eintrag "probleme mit group by" im Forum

Antworten

Zitat:
ich bekomme aber die ausgabe: 4 ausgegeben was ja richtig ist, aber die group by anweisung gibt mir immer 1 zurück! Das ist ja falsch da es normalerweise auch 4 zurückgeben müsste, da keines der datensätze identisch sind. So war es beim SQL Server.

Das kann ich mir nur schwer vorstellen (aber bei Microsoft ist alles möglich)! Wenn du nach der Email-Adresse gruppierst und wie du schon sagst keine der Email-Adressen mehrfach vorkommt ist die Anzahl für jede Email-Adresse 1 und du bekommst mehrere Zeilen zurück.

Was willst du zählen? Jede Email-Adresse nur einmal?
Edit: (Hab das grad noch getestet, nicht dass ich was falsches poste)
Code:                   In Zwischenablage kopieren (nur IE)
2">




2.

also stellen wir uns vor die tabelle ist folgendermassen gefüllt

ID EMAIL
1 1
2 1
3 1
4 2
5 2
6 2
7 3
8 4
9 4
10 4

ok, so wenn ich also einen normalen count(*) ausführen würde, so würde ich 10 bekommen. Ich möchte aber das die 1'er auch nur einmal gezählt werden obwohl sie 3x in der datenbank vorkommen. Und die zweier auch nur einmal gezählt werden obwohl diese auch 3x vorkommen. Und als Endergebnis soll von SQL Query zurückgegeben werden 4 !

Wie geht das?

Gruß
Yavuz


3.

*Noch mal auf mein Edit von oben Hinweis*


4.

vielen dank. hat funktioniert. war mein fehler. da ich count auf * mache konnte es garnicht funktionieren. richtig?

gruß
yavuz


5.

Jain, wenn du doubletten nicht zählen willst musst du MySQL das explizit sagen, ohne das distinct zählt er die doppelten doppelt.


Hier gehts zum Orginal Eintrag "probleme mit group by" im Forum
 
phpforum.de | Impressum | Handy Bundles