代码之家  ›  专栏  ›  技术社区  ›  Paddy Hallihan

按列asc/desc的SQL查询顺序

  •  -1
  • Paddy Hallihan  · 技术社区  · 6 年前

    我有一个电子商务网站。在该网站上,我进行了一次查询,以获取基于价格的类别中的所有产品,这一点非常有效:

    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 回复  |  直到 5 年前
        1
  •  3
  •   Barmar 0___________    6 年前

    使用 GROUP BY MIN(base_price)

    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