GROUP BY geht nur, wenn Tabelle kein Text Feld enthält

Alles, was MariaDB und MySQL betrifft, kann hier besprochen werden.

GROUP BY geht nur, wenn Tabelle kein Text Feld enthält

Postby der_milchmann » 23. November 2004 23:02

Hallo.

ich habe ein Problem mit folgendem Befehl:
Meine Tabelle hat folgende Felder:
Name (Varchar) Nachname (Varchar) Inhalt (text)

Ok. Somit kann ich folgenden Befehl nicht verwenden:

select * from tabelle group by nachname;

Ich habe nur 2 Möglichkeiten: Entweder ich ändere den Befehl in:

select nachname from tabelle group by nachname

oder ich entferne Inhalt (text) ..... beides gemeinsam kombiniert geht nicht. Es hat schon ewig gedauert, bis ich den Fehler eingegrenzt hatte, weiss mittlerweile dass wirklich das TEXT Feld verantwortlich dafür ist, dass gruppierung nicht geht.

Keine Ahnung wieso....wer kann mir da helfen ?

Hängt es an meiner MySQL Version? Das ist die Version 4.0.18
der_milchmann
 
Posts: 3
Joined: 23. November 2004 22:47

Postby Wiedmann » 23. November 2004 23:39

select * from tabelle group by nachname;

Der Befehl erzeugt jedenfalls keinen Fehler.

Bleibt also die Frage, was willst du überhaupt erreichen und wie unterscheidet sich das Ergebnis genau vom Erwartetem?

BTW:
Name (Varchar) Nachname (Varchar) Inhalt (text)

select * from tabelle group by nachname;

Du musst dich schon für eine (die Richtige) Schreibweise entscheiden.
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby der_milchmann » 24. November 2004 11:08

Hallo und danke

ich möchte mit beiden Befehlen das gleiche Ergebnis erreichen, allerdings sollte der erste Befehl, von dem du meintest, er würde bei dir gehen, garnicht funktionieren, zumindest nicht laut php Doku. Gerade dies wundert mich ja, auf einigen Entwicklungsumgebungen bei mir geht dieser Befehl mit select * from .... GROUP BY ... und auf anderen geht eben nur der select feld ... GROUP BY Befehl.

Generell will ich damit alle Felder gruppieren, danach ausgeben. Eigentlich nichts weltbewegendes. nur verwunderlich, dass auf älteren mysql Versionen keine Problem auftreten. Oder an meiner Entwicklungsumgebung ist etwas mit dem TMP Pfad falsch eingestellt, an der es nicht funktioniert, was ich allerdings ebenfalls für seltsam halte, da ich sonst ausser bei diesem dubiosen Befehl, keinerlei Probleme mit dem TMP Pfad habe. Sessions können geschrieben werden usw.

Würde mich mal interessieren, ob der Befehl select * from ... GROUP BY syntaxmässig gar falsch ist.
der_milchmann
 
Posts: 3
Joined: 23. November 2004 22:47

Postby Wiedmann » 25. November 2004 16:00

Würde mich mal interessieren, ob der Befehl select * from ... GROUP BY syntaxmässig gar falsch ist.

Hmm, nach der reinen SQL-Lehre ja. MySQL in den 3er-Versionen kann damit auch nichts anfangen. In MySQL wurde der von der der Funktion erweitert.

Aber zu meiner eigentlichen Frage:
Ich hab eher das Gefühl, dass du die "GROUP BY" Funktion eh falsch verstehst, und eigentlich etwas ganz anderes haben willst? Deshalb die Frage was du in deiner Abfrage erreichen willst (genau).
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby borschtel1 » 29. November 2004 15:41

hallo,

ich denke auch, dass du "group by" mit "order by" verwechselst.

aber Wiedmann hat schon recht, wenn man dir helfen soll, dann musst du schon sagen, was du genau als ergebnis erwartest (beispiel).
http://www.logospiel.de - Das Spiel mit den Logos
borschtel1
 
Posts: 29
Joined: 27. May 2004 11:29


Return to MariaDB - MySQL

Who is online

Users browsing this forum: No registered users and 1 guest