Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

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

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

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"

danke für den Tipp, mit distinct ging es jetzt.

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.