Gruppieren nach festgelegten Gruppen

nufruit

Mitglied
Hi!
Leider habe ich noch immer ein problem zum verständiniss
mit der groub by Klausel in mysql.

Wollte mal wissen ob es stimmt, dass man die group by
klausel nur in verbindung mit einer Aggregat-Funktion
verwenden kann. Es ist also somit nicht moeglich wie z.B.
in Access auch ohne Aggregat-Funktion zu gruppieren, um
beispielsweise folgende ausgabe zu bekommen

Wohnzimmer
- Couch
- Stühle
- Sofa

Küche
- Gläser
- Besteck
- Microwelle

Wäre um schnelle Ántwort sehr dankbar!
 
Die GROUP BY Klausel geht auf jede Spalte, einer Tabelle, der Typ is dabei Egal, also du hast z.B. eine Tabelle mit Personen (Name, Vorname, Straße, PLZ, Ort) darin hast du eine Menge Datensätze und möchtest anhand des Ortes Gruppieren. Das geht ohne Probleme:

SELECT * FROM Personen GROUP BY Ort

Oder verstehe ich da was falsch (hab schon länger kein SQL mehr benötigt)

Gruss Homer
 
Hi,
Also wenn ich die untere Abfrage ausführe, dann erhalte ich
folgenden output:

Küche
B 2500 - Bett

Kinderzimmer
1600 - Stühle mit Lehne

Von der Struktur her auch ok. Nur enthält der punkt
Kinderzimmer aber mehr als nur einen Eintrag. Das bekomme ich heraus wenn ich eine Abfrage mit count() ausführe.

Küche(1)

Kinderzimmer(2)

Aber warum wird bei der abfrage nach jedem ersten unterpunkt
abgebrochen???
muss ich dazu eine verschachtelte ausgabe schreiben???



"SELECT
A.ID AS A_ID,
A.ART_BEZ AS A_BEZ,
A.ART_MODELL AS A_MOD,
A.HERSTELLER_IDAS A_ID,
H.ID AS H_ID,
H.HERSTELLER AS H_HSTL,
ANG.BESCHREIBUNG AS ANG_BESCH,
ANG.PREIS AS ANG_PREIS,
R.KAT_ID AS REF_KATID,
R.ART_ID AS REF_ARTID,
K.ID AS KAT_ID,
K.GRUPPENNAME AS KAT_GRP
FROM $tabelle_art_art as A
INNER JOIN $tabelle_art_r AS R ON A.ID=R.ART_ID
INNER JOIN $tabelle_art_h AS H ON R.HERSTELLER_ID=H.ID
INNER JOIN $tabelle_art_a AS ANG ON A.ANGEBOT_ID=ANG.ID
INNER JOIN $tabelle_art_k AS K ON R.KAT_ID=K.ID
GROUP BY KAT_GRP
ORDER BY ANG.CREATION_DATE
LIMIT 5";




gruss
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück