Są 2 sposoby sortowania. W porządku rosnącym i malejącym. Nie wspomniałeś o zamówieniu. Dlatego podaję wam obie odpowiedzi z 2 odmianami:
KOLEJNOŚĆ ROSNĄCA:
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;
KOLEJNOŚĆ malejąco:
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;
Jeśli chcesz, aby MySQL najpierw posortował NAJPIERW według volgnr, a następnie według identyfikatora produktu :
KOLEJNOŚĆ ROSNĄCA:
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;
KOLEJNOŚĆ malejąco:
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;
Mam nadzieję, że to pomoże.
Edytuj 1:
Zmodyfikowałem teraz zapytanie, aby nie powodowało duplikatów w wynikach. Wypróbuj i daj mi znać, jak to idzie.
Edytuj 2: Dodano klauzulę Grupuj według. Wypróbuj to.