Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MYSQL-Bestellung aus einer anderen Tabelle

Es gibt 2 Sortiermöglichkeiten. Aufsteigende Reihenfolge und absteigende Reihenfolge. Sie haben die Reihenfolge nicht erwähnt. Also stelle ich Ihnen beide Antworten mit 2 Variationen zur Verfügung:

AUFSTEIGENDE REIHENFOLGE:

SELECT DISTINCT table1.*
FROM table1
INNER JOIN table2 ON table1.product_id = table2.product_id
GROUP BY table1.product_id
ORDER BY table2.product_id ASC, table2.volgnr ASC;

ABSTEIGENDE REIHENFOLGE:

SELECT DISTINCT table1.*
FROM table1
INNER JOIN table2 ON table1.product_id = table2.product_id
GROUP BY table1.product_id
ORDER BY table2.product_id DESC, table2.volgnr DESC;

Wenn Sie MySQL anweisen möchten, zuerst ZUERST nach volgnr und dann nach product_id zu sortieren :

AUFSTEIGENDE REIHENFOLGE:

SELECT DISTINCT table1.*
FROM table1
INNER JOIN table2 ON table1.product_id = table2.product_id
GROUP BY table1.product_id
ORDER BY table2.volgnr ASC, table2.product_id ASC;

ABSTEIGENDE REIHENFOLGE:

SELECT DISTINCT table1.*
FROM table1
INNER JOIN table2 ON table1.product_id = table2.product_id
GROUP BY table1.product_id
ORDER BY table2.volgnr DESC, table2.product_id DESC;

Hoffe das hilft.

Änderung 1:

Ich habe die Abfrage jetzt so bearbeitet, dass Sie keine Duplikate in den Ergebnissen erhalten. Probieren Sie es aus und lassen Sie mich wissen, wie es läuft.

Änderung 2: Group By-Klausel hinzugefügt. Probieren Sie es aus.