来自另一个表的MYSQL订单

Jef*_*ang 4 php mysql sorting tablesorter

我有个问题.

我这里有2张桌子

表1:产品

product_id , name , images_sideview
Run Code Online (Sandbox Code Playgroud)

表2:product_descriptions

product_id , volgnr
Run Code Online (Sandbox Code Playgroud)

我想用表2和volgnr字段中的数字对它们进行排序.

有没有办法用mysql做到这一点?

Dev*_*ner 11

有两种排序方式.升序和降序.你还没有提到订单.所以我为您提供两种变体的答案:

提交订单:

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;
Run Code Online (Sandbox Code Playgroud)

降序排列:

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;
Run Code Online (Sandbox Code Playgroud)

如果你想告诉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;
Run Code Online (Sandbox Code Playgroud)

降序排列:

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;
Run Code Online (Sandbox Code Playgroud)

希望有所帮助.

编辑1:

我现在已经编辑了查询,因此它不会在结果中给出重复项.尝试一下,让我知道这是怎么回事.

编辑2: 添加了Group By子句.试试吧.