Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Zamówienie MYSQL z innej tabeli

Są 2 sposoby sortowania. W porządku rosnącym i malejącym. Nie wspomniałeś o zamówieniu. Dlatego podaję wam obie odpowiedzi z 2 odmianami:

KOLEJNOŚĆ ROSNĄCA:

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;

KOLEJNOŚĆ malejąco:

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;

Jeśli chcesz, aby MySQL najpierw posortował NAJPIERW według volgnr, a następnie według identyfikatora produktu :

KOLEJNOŚĆ ROSNĄCA:

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;

KOLEJNOŚĆ malejąco:

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;

Mam nadzieję, że to pomoże.

Edytuj 1:

Zmodyfikowałem teraz zapytanie, aby nie powodowało duplikatów w wynikach. Wypróbuj i daj mi znać, jak to idzie.

Edytuj 2: Dodano klauzulę Grupuj według. Wypróbuj to.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak przekonwertować BLOB na VARCHAR w MySQL?

  2. Jak zaktualizować kolumnę MySQL na podstawie pola wyboru?

  3. Jak ustalić priorytety niektórych zapytań w MySQL?

  4. Jak używać mysql w C++?

  5. MySQL - Znajdź MIN, ale nie zero