sql >> Base de Datos >  >> RDS >> Mysql

Orden MYSQL de otra tabla

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.