在Oracle中仅显示查询的第一行

时间:2020-02-04 17:03:55

标签: sql oracle oracle12c

此查询显示一个演员列表,以及他们在1980年至2000年之间在一部动作电影中的表演次数。 此外,请告诉我是否有更好的查询解决方案。

电影( CODFILM ,标题,年份,类型) ACTOR( CODACTOR ,NAME,SURNAME) CAST( CODFILM CODACTOR

YEAR类型是数字,并且是只写年份的发行版

SELECT CODACTOR, GENRE,count(CODACTOR) 
FROM FILM NATURAL JOIN CAST T
WHERE GENRE = 'Action' AND YEAR BETWEEN 1980 AND 2000 
GROUP BY CODACTOR,GENRE 
HAVING COUNT(CODACTOR) >= ALL( 
SELECT COUNT(CODACTOR) 
FROM FILM NATURAL JOIN CAST
WHERE GENRE = 'Action' AND CODACTOR = T.CODACTOR AND ANNO BETWEEN 1980 AND 2000) 
ORDER BY COUNT(CODACTOR) DESC;

1 个答案:

答案 0 :(得分:0)

将此添加到查询中

FETCH FIRST 1 ROWS ONLY

Docs

示例-

薪酬最高的3名员工

enter image description here

此功能在数据库的12版及更高版本中可用。

下面,您可以使用伪列ROWNUM