sql >> Databasteknik >  >> RDS >> Mysql

MYSQL Beställ från ett annat bord

Det finns 2 sätt att sortera. Stigande ordning och fallande ordning. Du har inte nämnt beställningen. Så jag ger er båda svaren med två varianter:

STIGANDE ORDNING:

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;

FALLANDE ORDNING:

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;

Om du vill säga till MySQL att först sortera FÖRST efter volgnr och sedan efter product_id :

STIGANDE ORDNING:

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;

FALLANDE ORDNING:

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;

Hoppas det hjälper.

Redigera 1:

Jag har nu redigerat frågan så att den inte ger dig dubbletter i resultat. Testa det och låt mig veta hur det går.

Redigera 2: Lagt till Group By-klausul. Testa detta.



  1. MySQL-injektion av LIKE-operatör

  2. Representera en tid utan datum i rubin

  3. Ansluta till mysql 5.0-databas med rent vbscript?

  4. Optimal fråga för att hämta en kumulativ summa i MySQL