码迷,mamicode.com
首页 > 其他好文 > 详细

postgre 获取分组中的一条数据,最大值或最小值等

时间:2020-05-15 19:58:59      阅读:259      评论:0      收藏:0      [点我收藏+]

标签:获取   col   取出   desc   postgres   窗口函数   res   自己的   html   

使用postgre的窗口函数row_number, 分块后选择需要自己的行

例:获取分组中的最大数据,从table1表中获取以cloumn1字段作为分组,每组中cloum2字段最大的行数据

  

  select *

    from(

      select * ,row_number() over (partition by colum1 order by cloum2 desc nulls last)order_in_  clomun1 from table1

     )as temp

  where order_in_  clomun1< 2

  ↑解释如下:

    row_number():  在其分区中的当前行号,从1计(所以后面的where条件是<2,取出来的就是最大值), 文档地址 http://www.postgres.cn/docs/9.3/functions-window.html

    partition by colum1:  根据cloumn1进行分组,在这里不能使用order by    

    order_in_  clomun1:  分组集合的别名,随便命名,后面的 where 需要用它进行条件判定。

 

postgre 获取分组中的一条数据,最大值或最小值等

标签:获取   col   取出   desc   postgres   窗口函数   res   自己的   html   

原文地址:https://www.cnblogs.com/blplusyan/p/12896525.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!