Mysql
 sql >> база данни >  >> RDS >> Mysql

MYSQL Поръчка от друга таблица

Има 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: Добавена клауза Group By. Изпробвайте това.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. използвайте mysql SUM() в клауза WHERE

  2. PostgreSQL срещу MySQL

  3. как да избера AVG от множество колони на един ред

  4. ВЪЗРАСТ [1, 2, 3] спрямо ВЪЗРАСТ МЕЖДУ 1 И 3

  5. Уловима фатална грешка:Обектът от клас mysqli_stmt не може да бъде преобразуван в низ