`
jjxliu306
  • 浏览: 153507 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

postgres窗口函数实例(取出每日中前N条数据)

 
阅读更多

假设现有一批数据,字段中包含date_id,数据格式yyyyMMdd. 现在需求为需要取出每天中前N条数据,那么sql来了(用到窗口函数):

 

create temp table dddd(id serial , date_id int , name varchar(20));

 

 

insert into dddd(date_id , name) values (20160301 , 'name1'),(20160301 , 'name2'),(20160301 , 'name3'),(20160302 , 'name4'),(20160302 , 'name5') ;

 

select id , date_id , name

from 

(

select * , row_number() over(partition by date_id order by id ) as row_id from dddd 

) as t

where t.row_id <= 2 ;

 

 

结果:

 

1;20160301;"name1"

2;20160301;"name2"

4;20160302;"name4"

5;20160302;"name5"

 

 

0
1
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics