MySQL内连接,每个类别的限制

时间:2015-01-22 12:47:59

标签: mysql sql greatest-n-per-group

我有2个表:x_productsx_category

我必须使用单个查询为每个类别选择最后插入的3个产品(按x_products.data列排序,降序排列)。

我的想法是使用INNER JOIN技术(使用单个查询)。

我已尝试使用LIMIT 0,3,但仅返回最后3个产品(总共3个,但不是每个类别。

SELECT products.* 
FROM x_products products
INNER JOIN x_category categories
ON products.category = categories.id
ORDER BY products.data DESC LIMIT 0,3

我如何为每个类别选择3种产品,但每种产品不能选择3种产品?

1 个答案:

答案 0 :(得分:-1)

这样的事可能会有所帮助,

SELECT products.* 
FROM x_products products
INNER JOIN x_category categories
ON products.category = categories.id
GROUP BY products.category
ORDER BY products.data DESC LIMIT 0,3

是的,你可以找到一些例子here