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

2019-11-02 16:37发布

同标题

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

2条回答
Rolldiameter
2楼-- · 2019-11-02 17:01

描述清楚一点吧

查看更多
地球回转人心会变
3楼-- · 2019-11-02 17:06

根据你的描述我大概揣摩了一下你的意思,这是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

查看更多
登录 后发表回答