Mysql
 sql >> Base de données >  >> RDS >> Mysql

Commande MYSQL à partir d'une autre table

Il y a 2 façons de trier. Ordre croissant et ordre décroissant. Vous n'avez pas mentionné la commande. Je vous donne donc les deux réponses avec 2 variantes :

ORDRE CROISSANT :

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;

ORDRE DÉCROISSANT :

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;

Si vous voulez dire à MySQL de trier d'abord PREMIER par volgnr puis par product_id :

ORDRE CROISSANT :

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;

ORDRE DÉCROISSANT :

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;

J'espère que ça aide.

Modification 1 :

J'ai maintenant modifié la requête afin qu'elle ne vous donne pas de doublons dans les résultats. Essayez-le et faites-moi savoir comment cela se passe.

Modification 2 : Ajout de la clause Group By. Essayez ceci.