看代码吧~
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
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 |
其中
1 |
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条
1 |
select * from map_route_info_composite order by random() limit 100 |
以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。如有错误或未考虑完全的地方,望不吝赐教。
原文链接:https://www.cnblogs.com/SeNaiTes/p/11540524.html
查看更多关于postgresql 实现取出分组中最大的几条数据的详细内容...