【问题标题】:How to do this query? Many different categories of products, need a limit on number of products per category这个查询怎么做?许多不同类别的产品,需要限制每个类别的产品数量
【发布时间】:2011-02-11 06:55:26
【问题描述】:

我有一个从表中选择产品的查询:

Select * FROM products WHERE category_id in (1,2,3,4,5) LIMIT 100

我想对每个类别返回的条目数量施加限制,而不是所有类别的总和。

我有它的方式,有时它可以只为一个类别返回 100 种产品,然后在它到达任何其他类别之前停止

【问题讨论】:

    标签: sql mysql


    【解决方案1】:

    你可以试试:

    SELECT * FROM products WHERE category_id = 1 LIMIT 100
    UNION 
    SELECT * FROM products WHERE category_id = 2 LIMIT 100
    UNION
    SELECT * FROM products WHERE category_id = 3 LIMIT 100
    UNION 
    SELECT * FROM products WHERE category_id = 4 LIMIT 100
    UNION 
    SELECT * FROM products WHERE category_id = 5 LIMIT 100
    

    这将返回从 1 到 5 每个类别的前 100 条记录。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多