Zum Inhalt springen

Group by


andi____

Empfohlene Beiträge

Hallo,

ich habe ein Problem mit dem sql Befehl GROUP BY

wenn ich den anwende so klappt das ganz gut und er fässt alles zusammen, sobald aber eine Firma mit einer Zahl drin auftaucht klappt es nichtmehr...

da macht er mir z.B. 5 Einträge mit

Firma24

Firma25

Firma26

Firma27

Firma28

wobei die Firma 25 richtig so heißt.... und die Straßennummer und die PLZ zählt er jeweils auch eins hoch

Ist der Befehl vielleicht doch nicht geeignet um mehrere Identische Ansprechpartner zusammenzufassen?

Warum passiert das denn wenn Zahlen mit im Spiel sind?

meine querrys:


<?
$result=mysql_query("SELECT * from wg_kunden GROUP BY Vorname, Nachname, Firma");
while ($row=mysql_fetch_array($result))
{

mysql_query("Insert into wg_kunden2 values('','$row[KuNr]','$row[Vorname]','$row[Nachname]','$row[Firma]','$row[Strasse]','$row[PLZ]','$row[Ort]','$row[Land]','$row[Telefon]','$row[Fax]','$row[Email]','$row[Rempf_Name]','$row[Rempf_Strasse]','$row[Rempf_PLZ]','$row[Rempf_Ort]','$row[Kundengruppe]','$row[Kundenstatus]','$row[Zahlungsziel]','$row[KRabatt]','$row[Zusatz_2]')");
}
?>
[/php]

die Feldtypen sind TEXT

danköö für Aufklärung

Link zu diesem Kommentar
Auf anderen Seiten teilen

Versteh ich nicht.

Lass doch mal die SQL Befehle ausgeben.


$sql = "Insert into wg_kunden2 values('','$row[KuNr]','$row[Vorname]','$row[Nachname]','$row[Firma]','$row[Strasse]','$row[PLZ]','$row[Ort]','$row[Land]','$row[Telefon]','$row[Fax]','$row[Email]','$row[Rempf_Name]','$row[Rempf_Strasse]','$row[Rempf_PLZ]','$row[Rempf_Ort]','$row[Kundengruppe]','$row[Kundenstatus]','$row[Zahlungsziel]','$row[KRabatt]','$row[Zusatz_2]'";
echo $sql."<br>";
mysql_query($sql);
[/php]

Frank

Link zu diesem Kommentar
Auf anderen Seiten teilen

Bei der Abfrage würde ich anstatt

"SELECT * from wg_kunden GROUP BY Vorname, Nachname, Firma"

folgendes verwenden:

"SELECT Vorname, Nachname, Firma from wg_kunden GROUP BY Vorname, Nachname, Firma"

Dein Select ist doch meiner Meinung logisch schon nicht ganz korrekt...

Du willst nach den drei Kriterien gruppieren. Das heißt wenn du drei Datensätze "Heinz", "Müller", "BMW" hast und bei jedem der drei Sätze steht aber eine andere Hausnummer. Es sollen nun die drei Sätze zusammengefasst werden zu einem Satz, aber trotzdem soll er alle drei Hausnummern anzeigen? Denn ob er die Hausnummer gruppieren addieren usw. soll hast du nichts gesagt! Warscheinlich addiert er dann die drei Hausnummer standardmäßig und der Standard ist wohl abhängig von deinem DBMS (Welches?). Viele DBMS lassen deswegen so eine Abfrage gar nicht zu. Vielleicht gibt er dir die Anzahl, oder die Quersumme der Hausnummer aus, du gibst ihm ja nichts vor für die anderen Spalten, also lass sie weg. Anstatt * nur die Columns.

Wenn du nichts summiert, oder irgendeinen Max/minwert pro Gruppierung haben willst kannst du auch distinct nehmen.

"SELECT distinct Vorname, Nachname, Firma from wg_kunden"

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...