postgresql 实现取出分组中最大的几条数据
时间:2021-04-21 09:39:31|栏目:PostgreSQL|点击: 次
看代码吧~
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
执行结果:

添加行序号: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
下一篇:postgresql coalesce函数数据转换方式
本文标题:postgresql 实现取出分组中最大的几条数据
本文地址:http://www.codeinn.net/misctech/105897.html






