【发布时间】:2011-12-15 04:31:36
【问题描述】:
我需要选择每个品牌类别的五个最新产品,然后按类别分组显示这些结果。
MySQL 数据库的样子;
表product:
product_id (pk)
product_name
product_etc
product_publish_date
brand_id (fk)
表brand
brand_id (pk)
brand_name
结果应该如下所示...
brand_a product k
brand_a product a
brand_a product h
brand_a product l
brand_a product 33
brand_b product h
brand_b product z
brand_b product 9
brand_b product ddd
brand_b product a
试过
【问题讨论】:
-
SELECT * FROM product GROUP BY brand_id ORDER BY product_publish_date LIMIT 5
-
你遇到了什么问题?
-
我的查询只返回了 5 个结果(限制为 5),我最初尝试像上面那样做一堆查询但加入它们/联合但我一定有太多语法错误,最后我想实现我的目标可能是一种糟糕的方式(性能)。
-
我用了这个solution,有10个分类,每个分类有50个产品。这不会经常改变,所以希望它就足够了,即使它不是最雄辩的
标签: mysql sql greatest-n-per-group