ORDER BY mit GROUP BY kombinieren
jo
- datenbank
0 Vinzenz Mai0 jo
hallo,
habe eine table "model"
das feld "brand_id" ist eine parent id, und somit ein verweis auf eine andere table.
"model_bez" ist der name des models, also text.
wie lässt sich ORDER BY mit GROUP BY kombinieren ?
ich würde gerne alle brand_id gruppieren und innerhalb nach alphabet ordnen !
ist das möglich ?
mein aktueller query:
$q="SELECT `id`,`brand_id`,`model_bez` FROM `model` ORDER BY `model_bez` ASC";
gruß
jo
Hallo Jo,
habe eine table "model"
das feld "brand_id" ist eine parent id, und somit ein verweis auf eine andere table.
"model_bez" ist der name des models, also text.
ich vermute, dass verschiedene Datensätze mit gleicher "brand_id" verschiedene Werte im Feld "model_bez" haben können.
wie lässt sich ORDER BY mit GROUP BY kombinieren ?
Problemlos:
GROUP BY foo
ORDER BY bar
dabei kommt in allen mir bekannten SQL-Dialekten die GROUP-BY-Klausel zwingend vor der ORDER-BY-Klausel.
ich würde gerne alle brand_id gruppieren und innerhalb nach alphabet ordnen !
Ich vermute, Du möchtest alle Modellbezeichnungen der gleichen Marke zusammen haben und innerhalb der Marke alphabetisch aufsteigend sortiert?
ist das möglich ?
Ja.
mein aktueller query:
$q="SELECT
id
,brand_id
,model_bez
FROMmodel
ORDER BYmodel_bez
ASC";
Nach id dürftest Du nicht gruppieren können, da id wohl jeden Datensatz eindeutig kennzeichnet, also raus damit. ASC ist die Standardsortierreihenfolge und somit überflüssig.
Du möchtest nach brand\_id und model\_bez gruppieren und zuerst nach brand\_id, dann nach model\_bez sortieren:
~~~sql
SELECT
brand_id,
model_bez
FROM
model
GROUP BY brand_id, model_bez
ORDER BY brand_id, model_bez
Freundliche Grüße
Vinzenz
hallo,
SELECT
brand_id,
model_bez
FROM
model
GROUP BY brand_id, model_bez
ORDER BY brand_id, model_bez
genau so wollte ich das haben.
danke und ein schönes wochenende