MySQL - GROUP BY

MySQL - GROUP BY

am 18.07.2006 08:36:27 von Frank Kirschner

Hallo NG,

aus einer Tabelle

test
-----
1
1
2
2
3
4

will ich alle verschiedene Werte ausgeben:

SELECT test FROM tabelle GROUP BY test

Ausgabe:
1
2

Gewünscht wäre aber noch die 3 und 4

MySQL scheint nur Werte als Gruppe zu sehen, wenn diese mindestens 2
mal da
sind. Wie komm ich an alle Werte heran?

vlg
Frank

Re: MySQL - GROUP BY

am 18.07.2006 08:51:34 von Kai Ruhnau

Frank Kirschner wrote:
> aus einer Tabelle
>
> test
> -----
> 1
> 1
> 2
> 2
> 3
> 4
>
> will ich alle verschiedene Werte ausgeben:
>
> SELECT test FROM tabelle GROUP BY test
>
> Ausgabe:
> 1
> 2

Huch? Wenn das wirklich rauskommt, dann ist das falsch.

> Gewünscht wäre aber noch die 3 und 4

Natürlich.

> MySQL scheint nur Werte als Gruppe zu sehen, wenn diese mindestens 2
> mal da
> sind. Wie komm ich an alle Werte heran?

So wie du's geschrieben hast. Welche MySQL-Version? Schonmal bei
bugs.mysql.com geschaut?

mysql> select * from test;
+------+
| test |
+------+
| 1 |
| 1 |
| 2 |
| 2 |
| 3 |
| 4 |
+------+
6 rows in set (0.01 sec)

mysql> SELECT test FROM test GROUP BY test;
+------+
| test |
+------+
| 1 |
| 2 |
| 3 |
| 4 |
+------+
4 rows in set (0.00 sec)


Grüße
Kai

Re: MySQL - GROUP BY

am 18.07.2006 09:47:33 von Frank Kirschner

Kai Ruhnau wrote on 18 Jul 2006:

> Frank Kirschner wrote:
>> aus einer Tabelle
>>
>> test
>> -----
>> 1
>> 1
>> 2
>> 2
>> 3
>> 4
>>
>> will ich alle verschiedene Werte ausgeben:
>>
>> SELECT test FROM tabelle GROUP BY test
>>
>> Ausgabe:
>> 1
>> 2
>
> Huch? Wenn das wirklich rauskommt, dann ist das falsch.
>
>> Gewünscht wäre aber noch die 3 und 4
>
> Natürlich.
>
>> MySQL scheint nur Werte als Gruppe zu sehen, wenn diese mindestens 2
>> mal da
>> sind. Wie komm ich an alle Werte heran?
>
> So wie du's geschrieben hast. Welche MySQL-Version? Schonmal bei
> bugs.mysql.com geschaut?
>
> mysql> select * from test;
> +------+
>| test |
> +------+
>| 1 |
>| 1 |
>| 2 |
>| 2 |
>| 3 |
>| 4 |
> +------+
> 6 rows in set (0.01 sec)
>
> mysql> SELECT test FROM test GROUP BY test;
> +------+
>| test |
> +------+
>| 1 |
>| 2 |
>| 3 |
>| 4 |
> +------+
> 4 rows in set (0.00 sec)
>

Ich dachte schon die Wärme wäre schuld, daß mein Gehirn ne Macke hat.
Ich hab MySQL neu gestartet und nun habe ich das selbe Ergebnis wie Du.
Sehr eigenartig.... werde mal die Bugs studieren.

vlg
Frank