SQL ORACLE - 使用 MAX() 选择发表次数最多(最多行)的作者

SQL ORACLE - Selecting author with most publications (most rows) using MAX()

我的 Oracle SQL 脚本有问题。我需要 select 大多数出版物的所有作者(登录名)。如果有更多的登录名和相同数量的出版物,我需要 select 他们全部。 list of publications looks like this:

需要来使用MAX()函数..到目前为止我已经尝试过这样的事情:

SELECT P.LOGIN, COUNT(*)
FROM PISE P
GROUP BY P.LOGIN, HAVING COUNT(*) >= MAX(PUBLICATIONS)  
(
SELECT COUNT(*) AS PUBLICATIONS
FROM PISE P
GROUP BY P.LOGIN
);

导致 ORA-00933:SQL 命令未正确结束

SELECT P.LOGIN, COUNT(*) as PUBLICATIONS
FROM PISE P
GROUP BY P.LOGIN HAVING PUBLICATIONS >= MAX(PUBLICATIONS);

导致 ORA-00904:"PUBLICATIONS":标识符无效

 SELECT P.LOGIN, COUNT(*)
    FROM PISE P
    WHERE COUNT(*) IN (
    SELECT MAX(COUNT(*)) 
    FROM PISE
    );

导致 ORA-00934:此处不允许组函数。

This is the result I am looking for

(没有 Jmeno 和 Prijmeni 列)。

使用"with clause"(在版本 11 及更高版本中可用):

with a as (select login, count(*) as cnt from p group by login),
     b as (select max(cnt) as max_cnt from a)
select a.login, a.cnt from a, b where a.cnt = b.max_cnt 
/