SQL查询顺序按列升序/降序

时间:2018-12-06 17:24:02

标签: php mysql sql

我有一个电子商务网站。在该网站上,我进行了查询,以根据价格获取所有产品,这有效:

SELECT DISTINCT pricing.product_id
FROM pricing INNER JOIN
     product_categories
     ON pricing.product_id=product_categories.product_id
WHERE product_categories.category_id='?'
ORDER BY pricing.base_price ASC

我遇到的问题是具有多个SKU或变体的产品。因此,在我的价格表中,在有变化的尽可能多的行中,会有相同的产品ID,并且每行都有自己的基本价格。

当一种产品的一种变体比通常价格更高的一种变体贵时,就会发生我的问题。

我想知道的是,是否有一种订购方式,所以不是按所有SKU的最低基本价格,而是按具有该产品ID的所有SKU的最低基本价格。

我希望这真的很难解释,对此的任何帮助或建议将不胜感激。

1 个答案:

答案 0 :(得分:3)

使用GROUP BYMIN(base_price)来获取每个SKU的最低价格,并以此顺序订购。

SELECT pricing.product_id
FROM pricing INNER JOIN
     product_categories
     ON pricing.product_id=product_categories.product_id
WHERE product_categories.category_id='?'
GROUP BY pricing.product_id
ORDER BY MIN(pricing.base_price) ASC