首页 > 数据库 >postgresql去重,只取时间最新的一条数据【转】

postgresql去重,只取时间最新的一条数据【转】

时间:2022-08-22 16:01:06浏览次数:171  
标签:product postgresql 只取 ttt 最新 sm date order id

 

昵称: zjyss

原文地址:https://www.cnblogs.com/zjyss/p/15701439.html

 

1.可以循环表取出相同字段的第一条去建立临时表或视图

2.使用pg的row_number 函数对相同字段记录分组排序,取出排序分组记录中的第一个。

下例即取出查询结果集合中产品对应date最新的那一条数据集合,相当于根据product_id去重,保留date最大的一条

select s.product_id, s.price
from (
    select *, row_number() over (partition by ttt.product_id order by ttt.date desc) as group_idx
    from (
         select distinct (kpol.product_id),kpol.price, sm.date from
            kthrp_purchase_order_line kpol
            left join stock_move sm on split_part(sm.ref, ',', 1) = 'kthrp.purchase.order.line' and split_part(sm.ref, ',', 2)::INTEGER = kpol.id
            left join product_product pp on pp.id = kpol.product_id
         where sm.date is not null
            order by sm.date desc
             ) ttt
) s
where s.group_idx = 1;

可以简化为:

select s.field_name_s, s.field_name_x
from (
    select *, row_number() over (partition by ttt.field_name_a order by ttt.field_name_b desc) as group_idx
    from 子查询 ttt
) s
where s.group_idx = 1;

1.row_number() 为返回的记录定义各行编号

2.pritition by 分组

3.order by 排序

 

标签:product,postgresql,只取,ttt,最新,sm,date,order,id
From: https://www.cnblogs.com/chenghu/p/16613089.html

相关文章

  • ps2022(Photoshop 2022)Mac/win最新图像处理中文版
    AdobePhotoshop2022Mac/win是数字图像处理和编辑的行业标准,提供了全面的专业修饰工具包,并具有旨在激发灵感的强大编辑功能。Photoshop带有大量图像处理工具,旨在帮助您......
  • 创建postgresql外部文件表
     【1】创建file_fdwcreateextensionfile_fdw;createserverserver_file_fdwforeigndatawrapperfile_fdw; [2]建立外部表 就以常见emp表为例; create......
  • 6月最新情报,日本企业参加RE100的公司已突破70家,有利于面向光伏发电输出抑制的「PV+蓄
      5月11日,RE100企业中,日本公司的数量正式突破100家。RE100是由完全使用可再生能源来为企业供电的国际性的企业联合组织。大型总承包商田中建设工业旗下的InfloniaHold......
  • 5月最新情报,5MW/11.9MWh系统用大型储能系统上市,以及用于BCP应用的DC耦合的优势介绍
    系统用大型储能系统上市5MW/11.9MWh5MW/11.9MWh大型蓄电池是TAOKEENERGY于2022年4月新上市的一款产品。系统由5MW集装箱式的PCS,32台372.7KWh的水冷电柜,4台直流汇流柜......
  • 最新linux网口命名规则
    查看pci接口$lspci|grep-i"eth"02:00.0Ethernetcontroller:IntelCorporation06:00.0Ethernetcontroller:IntelCorporation06:00.1Ethernetcontroller:In......
  • postgresql使用group by进行数据去重-2022新项目
    一、业务场景数据去重是web开发中经常会遇到的方式之一,数据库操作中有一个关键字distinct主要就是用来做这件事,用来进行去重。比如进行统计查询的时候,可以这样写sel......
  • postgresql用户与权限管理
    pg使用角色的概念管理数据库访问权限,角色是一系列相关权限的集合。为了管理方便,通常把一系列先关的权限赋予给一个角色,如果哪个用户需要这些权限,就把这些角色赋予给响应的......
  • Postgresql之基础
      在默认配置下,之允许本机访问Postgresql#切换到postgres用户su-postgresLastlogin:WedMar113:16:48CST2017onpts/1-bash-4.2$psqlpsql(9.2.1......
  • 【PostgreSQL】连接到PostgreSQL Server
    连接pg需要指定以下的参数:·主机地址·端口·数据库名·用户·密码 如果没有指定上面的参数的话,pg会从环境变量中寻找以下的变量值:·PGHOST或PGHOSTADDR·PG......
  • 最新红书APP接口
    小红书APP接口稳定运行,主流接口都已部署,支持并发请求!只抓取公开数据供作学习用途,不做引流上赞上粉业务,如有侵权,联系删除,谢谢!需要的朋友联系我!1、搜索接口  2、......