【问题标题】:Select value with maximum number of entries - Oracle Database选择具有最大条目数的值 - Oracle 数据库
【发布时间】:2016-09-28 07:00:09
【问题描述】:

这就是我所拥有的:

一个表 PATENT 和一个列 ASSIGNEE。我想在表中找到具有最大条目数的ASSIGNEE

这就是我想要做的:

SELECT ASSIGNEE
FROM (
    SELECT ASSIGNEE, count(*) num_assignee
    FROM PATENT
    GROUP BY ASSIGNEE
    ORDER BY num_assignee DESC
)
WHERE ROWNUM <= 1

这仅适用于最多一个,但是,在平局的情况下,不会显示另一个 ASSIGNEE。如何解决?

【问题讨论】:

    标签: sql oracle max greatest-n-per-group


    【解决方案1】:

    你可以试试这个:

    SELECT assignee
    FROM (
        SELECT assignee, 
               count(*) num_assignee,
               MAX(count(*)) OVER () max_num_assignee
        FROM patent
        GROUP BY assignee
        )
    WHERE num_assignee = max_num_assignee;
    

    【讨论】:

      【解决方案2】:

      试试这个。

      SELECT assignee 
      FROM
      (
          SELECT TOP 1 assignee, count(*) num_assignee
          FROM patent
          GROUP BY assignee
          ORDER BY num_assignee DESC
      ) Source
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-05-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-05-18
        • 1970-01-01
        • 2021-09-04
        相关资源
        最近更新 更多