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后添加即可

表信息:  

结果:

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM