我有一个问题。
这里有两个表格
表格1:产品
product_id , name , images_sideview
表2: 产品描述
product_id , volgnr
我希望能按照表2中的数字和volgnr字段对它们进行排序。
是否有使用mysql实现此功能的方法?
我有一个问题。
这里有两个表格
表格1:产品
product_id , name , images_sideview
表2: 产品描述
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排序,然后按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;
希望能帮到你。select *
from products t1
inner join product_descriptions t2 on t1.product_id = t2.product_id
order by t2.volgnr
SELECT *
中的重复列名不会出错。MySQL 不需要区分它们,因为你没有对它们进行任何操作。 - Marcus AdamsSELECT 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;