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.