欢迎来到站长天空!

其它数据库

当前位置: 主页 > 数据库 > 其它数据库

postgresql 实现取出分组中最大的几条数据

时间:2025-12-22 15:00:01|栏目:其它数据库|点击:

看代码吧~

WITH Name AS (
 SELECT
  *
 FROM
  (
   SELECT
    xzqdm,
    SUBSTRING (zldwdm, 1, 9) xzdm,
    COUNT (*) sl
   FROM
    sddltb_qc
   WHERE
    xzqdm IN ('130432', '210604')
   GROUP BY
    xzqdm,
    SUBSTRING (zldwdm, 1, 9)
  ) AS A
 ORDER BY
  xzqdm,
  xzdm,
  sl
) SELECT
 xzqdm,
 xzdm,
 sl
FROM
 (
  SELECT
   *, ROW_NUMBER () OVER (
    PARTITION BY xzqdm
    ORDER BY
     sl DESC
   ) AS Row_ID
  FROM
   Name
 ) AS A
WHERE
 Row_ID <= 2
ORDER BY
 xzqdm

其中

select * from (select xzqdm,substring(zldwdm,1,9) xzdm,count(*) sl from sddltb_qc where xzqdm in ('130432','210604') group by xzqdm,substring(zldwdm,1,9)) as a order by xzqdm,xzdm,sl

执行结果:

postgresql 实现取出分组中最大的几条数据

添加行序号:ROW_NUMBER () OVER (ORDER BY A.bsm ASC) AS 序号

分组添加序号:ROW_NUMBER () OVER (PARTITION BY xzqdm ORDER BY A.bsm ASC) AS 序号

补充:pgsql 表随机取几条数据

取100条

select * from map_route_info_composite order by random() limit 100

以上为个人经验,希望能给大家一个参考,也希望大家多多支持免费资源网。如有错误或未考虑完全的地方,望不吝赐教。

上一篇:在postgresql中结束掉正在执行的SQL语句操作

栏    目:其它数据库

下一篇:postgresql 实现查询某时间区间的所有日期案例

本文标题:postgresql 实现取出分组中最大的几条数据

本文地址:https://zz.feitang.co/shujuku/32688.html

广告投放 | 联系我们 | 版权申明

申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:257218569 | 邮箱:257218569@qq.com

Copyright © 2018-2025 站长天空 版权所有 Powered by EyouCms冀ICP备14023439号