【发布时间】:2011-02-11 06:55:26
【问题描述】:
我有一个从表中选择产品的查询:
Select * FROM products WHERE category_id in (1,2,3,4,5) LIMIT 100
我想对每个类别返回的条目数量施加限制,而不是所有类别的总和。
我有它的方式,有时它可以只为一个类别返回 100 种产品,然后在它到达任何其他类别之前停止
【问题讨论】:
我有一个从表中选择产品的查询:
Select * FROM products WHERE category_id in (1,2,3,4,5) LIMIT 100
我想对每个类别返回的条目数量施加限制,而不是所有类别的总和。
我有它的方式,有时它可以只为一个类别返回 100 种产品,然后在它到达任何其他类别之前停止
【问题讨论】:
你可以试试:
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 条记录。
【讨论】: