Hay 2 formas de ordenar. Orden ascendente y Orden descendente. No has mencionado el orden. Así que les doy ambas respuestas con 2 variaciones:
ORDEN ASCENDENTE:
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;
ORDEN DESCENDENTE:
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 quiere decirle a MySQL que ordene primero PRIMERO por volgnr y luego por product_id :
ORDEN ASCENDENTE:
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;
ORDEN DESCENDENTE:
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;
Espero que ayude.
Edición 1:
Ahora he editado la consulta para que no le dé resultados duplicados. Pruébalo y cuéntame cómo te va.
Edición 2: Se agregó la cláusula Group By. Prueba esto.