好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

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

看代码吧~

?

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 实现取出分组中最大的几条数据的详细内容...

  阅读:33次