最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

MySQL分组排序_MySQL

来源:懂视网 责编:小采 时间:2020-11-09 19:52:57
文档

MySQL分组排序_MySQL

MySQL分组排序_MySQL:一、问题 产品表 有平台id 产品名称 id ptid name 1 100 产品1 2 100 产品2 3 100 产品3 4 100 产品4 5 100 产品5 6 100 产品6 7 101 产品7 8 101 产品8 9 101 产品9 10 101 产品10 11 101 产品11 如何根据某个平台id 只取这个平
推荐度:
导读MySQL分组排序_MySQL:一、问题 产品表 有平台id 产品名称 id ptid name 1 100 产品1 2 100 产品2 3 100 产品3 4 100 产品4 5 100 产品5 6 100 产品6 7 101 产品7 8 101 产品8 9 101 产品9 10 101 产品10 11 101 产品11 如何根据某个平台id 只取这个平

一、问题

产品表
有平台id 产品名称

id ptid name
1 100 产品1
2 100 产品2
3 100 产品3
4 100 产品4
5 100 产品5
6 100 产品6
7 101 产品7
8 101 产品8
9 101 产品9
10 101 产品10
11 101 产品11

如何根据某个平台id 只取这个平台的3条数据(顺序可以随机)

id ptid name
1 100 产品1
2 100 产品2
3 100 产品3
7 101 产品7
8 101 产品8
9 101 产品9


二、建表

create table p_a(
 id int,
 ptid varchar(20),
 name varchar(20)
)
insert into p_a(id,ptid,name) values(1,'100','产品1');
insert into p_a(id,ptid,name) values(2,'100','产品2');
insert into p_a(id,ptid,name) values(3,'100','产品3');
insert into p_a(id,ptid,name) values(4,'100','产品4');
insert into p_a(id,ptid,name) values(5,'100','产品5');
insert into p_a(id,ptid,name) values(6,'100','产品6');
insert into p_a(id,ptid,name) values(7,'101','产品7');
insert into p_a(id,ptid,name) values(8,'101','产品8');
insert into p_a(id,ptid,name) values(9,'101','产品9');
insert into p_a(id,ptid,name) values(10,'101','产品10');
insert into p_a(id,ptid,name) values(11,'101','产品11');

三、sql
select * from (
select a.*,
case when @oldptid=ptid then @lagfield:=@lagfield+1 else @lagfield:=1 end rn,
@oldptid:=ptid
from p_a a,(select @lagfield:=0,@oldptid:='') r
) a where rn<=3
四、总结

MySQL根据ptid分组,分别对分组内进行标注序号,然后根据序号取出各分组内的记录

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

MySQL分组排序_MySQL

MySQL分组排序_MySQL:一、问题 产品表 有平台id 产品名称 id ptid name 1 100 产品1 2 100 产品2 3 100 产品3 4 100 产品4 5 100 产品5 6 100 产品6 7 101 产品7 8 101 产品8 9 101 产品9 10 101 产品10 11 101 产品11 如何根据某个平台id 只取这个平
推荐度:
标签: 分组 排序 mysql
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top