homeserver
Member
Hallo,
ich habe da ein (Verständnis?)Problem mit dem GROUP BY Statement bei der Abfrage von einer MySQL-Datenbank.
Angenommen ich habe folgende Datensätze:
+------------+-------------+------------------+-----+
|Kategorie | Produktname | Erscheinungsjahr | Preis|
+------------+-------------+------------------+-----+
|Handys | Nokia 2222 | 2000 | 299 |
|Handys | Nokia 2233 | 2003 | 199 |
|Handys | Nokia 2244 | 2001 | 99 |
|Handys | Nokia 2255 | 2000 | 249 |
|TV | MeinTV | 2000 | 549 |
|TV | DeinTV | 1999 | 555 |
|TV | TVTV | 2005 | 666 |
|TV | SR65 |1988 | 199 |
+------------+-------------+------------------+-----+
Nun möchte ich diese Datensätze gemäß der Kategorie Gruppiert auslesen, sodass ich also folgendes erhalte bzw. ausgeben kann:
Handys:
Nokia 2222 - 2000 - 299
Nokia 2233 - 2003 - 199
Nokia 2244 - 2001 - 99
Nokia 2255 - 2000 - 249
TV:
...
Müsste das nicht eigentlich wie folgt funktionieren:
SELECT * FROM `tabellenname` GROUP BY `Kategorie`
Ich möchte keine Aggregationsfunktion nutzen (brauche ich hier ja nicht), aber so erhalte ich mit dem Group By immer nur einen Datensatz aus jeder Kategorie.
Was mache ich falsch?
ich habe da ein (Verständnis?)Problem mit dem GROUP BY Statement bei der Abfrage von einer MySQL-Datenbank.
Angenommen ich habe folgende Datensätze:
+------------+-------------+------------------+-----+
|Kategorie | Produktname | Erscheinungsjahr | Preis|
+------------+-------------+------------------+-----+
|Handys | Nokia 2222 | 2000 | 299 |
|Handys | Nokia 2233 | 2003 | 199 |
|Handys | Nokia 2244 | 2001 | 99 |
|Handys | Nokia 2255 | 2000 | 249 |
|TV | MeinTV | 2000 | 549 |
|TV | DeinTV | 1999 | 555 |
|TV | TVTV | 2005 | 666 |
|TV | SR65 |1988 | 199 |
+------------+-------------+------------------+-----+
Nun möchte ich diese Datensätze gemäß der Kategorie Gruppiert auslesen, sodass ich also folgendes erhalte bzw. ausgeben kann:
Handys:
Nokia 2222 - 2000 - 299
Nokia 2233 - 2003 - 199
Nokia 2244 - 2001 - 99
Nokia 2255 - 2000 - 249
TV:
...
Müsste das nicht eigentlich wie folgt funktionieren:
SELECT * FROM `tabellenname` GROUP BY `Kategorie`
Ich möchte keine Aggregationsfunktion nutzen (brauche ich hier ja nicht), aber so erhalte ich mit dem Group By immer nur einen Datensatz aus jeder Kategorie.
Was mache ich falsch?