Henryk Plötz: Zwei Frames^WTabellen gleichzeitig öffnen^Wabfragen

Beitrag lesen

Moin,

Wie arbeitet DISTINCT nun?? Ich finde darüber in der MySQL-Sprachreferenz nicht.

Naja, es hat nicht grade epische Breite, wird aber doch erwähnt:
| The options DISTINCT, DISTINCTROW and ALL specify whether duplicate
| rows should be returned. The default is (ALL), all matching rows are
| returned. DISTINCT and DISTINCTROW are synonyms and specify that
| duplicate rows in the result set should be removed.
 -- MySQL-Referenzmanual, Abschnitt 6.4.1

Muss jeder Wert der ausgeählten Spalten unterschiedlich sein??

Jeder der Werte die du dir zurückgeben lässt darf nur einmal vorkommen. Hast du also eine Tabelle
Typ | Name
----+------------
Obst| Birne
Obst| Apfel
Pilz| Fliegenpils

und machst ein SELECT Typ FROM ... kriegst du Obst, Obst, Pilz. Machst du hingegegen SELECT DISTINCT Typ FROM ... kriegst du Obst, Pilz. SELECT DISTINCT * FROM ... würde dir hier nichts bringen, da ja alle Zeilen die er dir zurückgibt unterschiedlich sind.

Oder wählt es bei Spalten in denen sich werte wiederholen nur einen aus? Welchen dann?

Den ersten auf den es trifft. Wobei hier die Reihenfolge vermutlich nicht definiert ist. Für deine Betrachtungen solltest du also von "irgendeinen zufälligen" ausgehen.

Wieso klappts nicht wenn ich alle Spalten auswähle??

Ich nehme an dass du da noch IDs oder ähnliches hast die ohnehin immer unterschiedlich sind. So kann er die Spalten nicht als gleich erkennen.

--
Henryk Plötz
Grüße aus Berlin
~~~~~~~~ Un-CDs, nein danke! http://www.heise.de/ct/cd-register/ ~~~~~~~~
~~ Help Microsoft fight software piracy: Give Linux to a friend today! ~~