Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql双表查询最重复的外键_Sql_Oracle - Fatal编程技术网

Sql双表查询最重复的外键

Sql双表查询最重复的外键,sql,oracle,Sql,Oracle,我有两张桌子,运动桌和学生桌: 第一桌运动: 第二桌学生: 到目前为止,我做了这项工作,它输出的数字大部分是插入的,但无法让它工作 有两张桌子 SELECT sport_idsport FROM (SELECT sport_idsport FROM student GROUP BY sport_idsport ORDER BY COUNT(*) desc) WHERE ROWNUM<=1; 我需要输出最流行的运动的名称,在这种情况下,它将是滑冰 我使用oraclesql sele

我有两张桌子,运动桌和学生桌:

第一桌运动:

第二桌学生:

到目前为止,我做了这项工作,它输出的数字大部分是插入的,但无法让它工作 有两张桌子

SELECT  sport_idsport 
FROM (SELECT sport_idsport FROM student GROUP BY sport_idsport ORDER BY COUNT(*) desc)  
WHERE ROWNUM<=1;
我需要输出最流行的运动的名称,在这种情况下,它将是滑冰

我使用oraclesql

select cnt, sport_idsport from (
  select count(*) cnt, sport_idsport
    from student
   group by sport_idsport
   order by count(*) desc
)
where rownum = 1

SQLFiddle示例:

您一定试过什么。请编辑问题并展示你的努力。为什么答案是溜冰?登机也很受欢迎,都是两次选的我的错是赶时间
SELECT  sport_idsport 
FROM (SELECT sport_idsport FROM student GROUP BY sport_idsport ORDER BY COUNT(*) desc)  
WHERE ROWNUM<=1;
select cnt, sport_idsport from (
  select count(*) cnt, sport_idsport
    from student
   group by sport_idsport
   order by count(*) desc
)
where rownum = 1
with counter as (
    Select sport_idsport, 
           count(*) as cnt,
           dense_rank() over (order by count(*) desc) as rn
    from student 
    group by sport_idsport
)
select s.*, c.cnt
from sport s
 join counter c on c.sport_idsport = s.idsport and c.rn = 1;