SQL中获取每组中的前两条 | 每组中第2条 | 每组中指定位置的信息

前提条件:

  使用伪劣实现,对现有的信息进行分组添加序号。

create table if not EXISTS bigdata.test (id int ,name varchar(255), num int);
insert into test VALUES(1,'lili-1', 1);
insert into test VALUES(1,'lili-2', 2);
insert into test VALUES(1,'lili-3', 3);
insert into test VALUES(2,'lu-1', 1);
insert into test VALUES(2,'lu-2', 2);
insert into test VALUES(2,'lu-3', 3);

select * from test where num in (1,2) order by id,num;

-- 过滤num列中想要的信息即可。
-- 如果只想获取每组的第一行,可以直接分组实现
-- 如果只想获取每组中前两行,where后过滤1,2即可。
-- 如果想获取指定列信息,直接在where后添加即可

表信息:  

结果:

 

posted @ 2022-01-10 18:03  SailorG  阅读(1019)  评论(0编辑  收藏  举报