Hi Leute,
ich gab folgendes in den SQL-editor ein und bekam eine Fehlermeldung:
SELECT "Nachname", "Vorname", count(*) AS "U-Punktbesuche" FROM "Tagebuch U-Punkt" as "Tagebuch U-Punkt" group by "Nachname"
Wo liegt der Fehler?
und wieso funktioniert aber:
SELECT "Nachname", count(*) AS "U-Punktbesuche" FROM "Tagebuch U-Punkt" as "Tagebuch U-Punkt" group by "Nachname"
Was ist daran besser?
Ich finde den Fehler nicht
Moderator: Moderatoren
Re: Ich finde den Fehler nicht
Hallo rito,
Gruß Barlee
"Vorname" ist nicht in die Gruppierung mit einbezogen worden. Richtig wäre ... GROUP BY "Vorname", "Nachname"Wo liegt der Fehler?
Besser ist daran, dass alle ausgewählten Felder in der Gruppierung berücksichtigt werden. In dem Fall also nur "Nachname"und wieso funktioniert aber:...
Was ist daran besser?
Gruß Barlee
Re: Ich finde den Fehler nicht
In der Tat, es funktioniert! Vielen Dank!
Es erschließt sich mir jedoch immer noch nicht die Logik. Ich möchte doch eigentlich nur die Häufigkeit der Besuche der Maiers oder Schmitts zählen. Weshalb muss ich dann die anderen Spalten dann auch noch in die Group by - Funktion mit einbeziehen. In meinem My-SQL-Buch steht dies anders.
Seltsam - Aber wenn es funktioniert?
Es erschließt sich mir jedoch immer noch nicht die Logik. Ich möchte doch eigentlich nur die Häufigkeit der Besuche der Maiers oder Schmitts zählen. Weshalb muss ich dann die anderen Spalten dann auch noch in die Group by - Funktion mit einbeziehen. In meinem My-SQL-Buch steht dies anders.
Seltsam - Aber wenn es funktioniert?
-
- ********
- Beiträge: 4330
- Registriert: Di, 22.06.2004 12:02
- Wohnort: 71134 Aidlingen
- Kontaktdaten:
Re: Ich finde den Fehler nicht
Hallo rito,
ich kann mir beim besten Willen nicht vorstellen, dass dies in Deinem My-SQL-Buch anders steht.
Group by "Nachname" bedeutet: Erstelle eine Gruppe mit jeweils gleichlautendem Nachnamen. Wenn Du angenommen 5 x den Namen Schmitt in der Tabelle hast, gibt die SQL-Abfrage einen Datensatz mit Schmitt und der Anzahl 5 aus. Eine Select-Anweisung für den Vornamen würde deshalb logischer Weise nur Sinn machen, wenn der Vorname in der Group by Klausel mit aufgenommen wird.
ich kann mir beim besten Willen nicht vorstellen, dass dies in Deinem My-SQL-Buch anders steht.
Group by "Nachname" bedeutet: Erstelle eine Gruppe mit jeweils gleichlautendem Nachnamen. Wenn Du angenommen 5 x den Namen Schmitt in der Tabelle hast, gibt die SQL-Abfrage einen Datensatz mit Schmitt und der Anzahl 5 aus. Eine Select-Anweisung für den Vornamen würde deshalb logischer Weise nur Sinn machen, wenn der Vorname in der Group by Klausel mit aufgenommen wird.
Gruß
Peter
---------------------------------------------------------------------------
Windows 7 Prof. 64-bit SP1, LibreOffice 4.3.6.2 und AOO 4.1.1
Peter
---------------------------------------------------------------------------
Windows 7 Prof. 64-bit SP1, LibreOffice 4.3.6.2 und AOO 4.1.1