Mysql
 sql >> Database >  >> RDS >> Mysql

Ordine MySQL da un'altra tabella

Ci sono 2 modi per ordinare. Ordine crescente e ordine decrescente. Non hai menzionato l'ordine. Quindi ti sto fornendo entrambe le risposte con 2 varianti:

ORDINE CRESCENTE:

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;

ORDINE DECRESCENTE:

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 vuoi dire a MySQL di ordinare prima FIRST by volgnr e poi per product_id :

ORDINE CRESCENTE:

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;

ORDINE DECRESCENTE:

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;

Spero di esserti stato d'aiuto.

Modifica 1:

Ora ho modificato la query in modo che non ti dia duplicati nei risultati. Provalo e fammi sapere come va.

Modifica 2: Aggiunta clausola Group By. Prova questo.