programing

주문 후 결과 집합의 첫 번째 행만 어떻게 얻을 수 있습니까?

telecom 2023. 7. 4. 21:41
반응형

주문 후 결과 집합의 첫 번째 행만 어떻게 얻을 수 있습니까?

이렇게 하면 한 행(첫 번째 행)만 표시됩니다.

SELECT BLA
FROM BLA
WHERE BLA
AND ROWNUM < 2

그러나 가장 최근의 날짜 값을 원합니다. 첫 번째 행을 다음과 같이 만들 수 있습니다.

SELECT BLA
FROM BLA
WHERE BLA
ORDER BY FINALDATE DESC

하지만 제가 두 부분적인 승리를 섞으려고 할 때, 그것은 작동하지 않습니다 - 분명히 "첫 번째 행만 선택" 논리가 명령 전에 실행되고, 그 다음 명령은 무시됩니다.

12c의 새로운 방법은 다음과 같습니다.

select bla
  from bla
 where bla
 order by finaldate desc
 fetch first 1 rows only; 

정말 멋지군요!

이 질문은 주문 Oracle 쿼리에서 반환되는 행 수를 제한하는 방법과 유사합니다.

사용 중인 태그와 게시물로 판단하는 오라클 데이터베이스에 MySQL 제한을 구현하는 방법에 대해 설명합니다.

관련 섹션은 다음과 같습니다.

select *
from  
  ( select * 
  from emp 
  order by sal desc ) 
  where ROWNUM <= 5;

쿼리를 중첩할 수 있습니다.

select * from (
    select bla
    from bla
    where bla
    order by finaldate desc
)
where rownum < 2

언급URL : https://stackoverflow.com/questions/11978136/how-can-i-get-just-the-first-row-in-a-result-set-after-ordering

반응형