並べ替えには2つの方法があります。昇順と降順。あなたは注文について言及していません。だから私はあなたに2つのバリエーションで両方の答えを提供しています:
昇順:
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;
降順:
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;
MySQLに最初に最初にvolgnrでソートし、次にproduct_idでソートするように指示する場合 :
昇順:
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;
降順:
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;
お役に立てば幸いです。
編集1:
結果が重複しないようにクエリを編集しました。試してみて、どうなるか教えてください。
編集2: GroupBy句を追加しました。これを試してみてください。