第一步:准备数据:
create table product(
p_id int(10) primary key auto_increment,
p_name varchar(10),...),
(9,'name9',2),
(10,'name10',2),
(11,'name11',3),
(12,'name12',3);
第二步:查询
需求:按照p_code字段对product表进行分组并取每组的前两条数据...p_code 'tmp_code' from product order by p_code)
a where a.tmp_num<6
sql解释:@tmp_code:=p_code表示把p_code的值临时赋值给...@tmp_code,IF(@tmp_code=p_code,@tmp_num:=@tmp_num+1,@tmp_num:=0)表示如果p_code的值等于@tmp_code的话,@tmp_num自增1,...这样我们就可以通过'tmp_num'这个字段来获取到每一组的前几条数据
第三步:需求完美解决
查询结果:
?