mysql group by分组后取得是组内多条记录而仅仅是第一条???

2019-11-02 16:25发布

问题:

同标题

item 商品表
item_type_id 商品的分类id

现在问题是:想用一条sql查询出item表中,每个商品分类的商品记录信息(每个分类最多4条记录)

下面这个是自己的思路,没有得到想要的效果
select * from item as t GROUP BY t.item_type_id
having (select count(t1.id) from item as t1 where t1.id = t.id)<=4

回答1:

根据你的描述我大概揣摩了一下你的意思,这是SQL Server的中的写法

select * from (select row=row_number() over(partition by item_type_id ORDER BY item_type_id ),* from item) as t where row<=4



回答2:

描述清楚一点吧