Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Ordem MYSQL de outra tabela


Existem 2 maneiras de classificar. Ordem crescente e ordem decrescente. Você não mencionou o pedido. Então, estou fornecendo a vocês duas respostas com 2 variações:

ORDEM 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;

ORDEM 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;

Se você quiser dizer ao MySQL para primeiro classificar FIRST por volgnr e depois por product_id :

ORDEM 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;

ORDEM 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 ajude.

Editar 1:

Agora editei a consulta para que ela não forneça duplicatas nos resultados. Experimente e deixe-me saber como isso vai.

Editar 2: Adicionada cláusula Group By. Experimente isso.