[英]MYSQL Order from another Table
我有個問題。
我這里有2張桌子
表1:產品
product_id , name , images_sideview
表2:product_descriptions
product_id , volgnr
我想用表2和volgnr字段中的數字對它們進行排序。
有沒有辦法用mysql做到這一點?
有兩種排序方式。 升序和降序。 你還沒有提到訂單。 所以我為您提供兩種變體的答案:
提交訂單:
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排序FIRST,然后按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子句。 試試吧。
select *
from products t1
inner join product_descriptions t2 on t1.product_id = t2.product_id
order by t2.volgnr
SELECT p.'product_id', p.'name', p.'images_sideview'
FROM products p
LEFT JOIN product_descriptions d ON p.product_id = d.product_id
ORDER BY d.volgnr;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.