SQL
[SQuizL Post-Quiz] LAST_VALUE 241216
DSDiary
2024. 12. 16. 21:15
728x90
반응형
SMALL
SELECT
LAST_VALUE(st_dt)
OVER (
ORDER BY st_dt
ROWS BETWEEN CURRENT ROW AND 9999 FOLLOWING
)
FROM
fuji_activity;
이 SQL 구문은 fuji_activity
테이블에서 st_dt
열의 값을 기준으로 최신값을 가져오는 쿼리입니다.
여기서 LAST_VALUE
함수와 윈도우 함수(OVER
)가 함께 사용됩니다.
LAST_VALUE(st_dt)
현재 윈도우 범위에서 st_dt
열의 마지막 값을 반환합니다.
OVER (
ORDER BY st_dt
ROWS BETWEEN CURRENT ROW AND 9999 FOLLOWING
)
ORDER BY st_dt
:st_dt
열을 기준으로 정렬합니다.ROWS BETWEEN CURRENT ROW AND 9999 FOLLOWING
: 현재 행부터 이후 9999개의 행까지를 윈도우 범위로 지정합니다.
결과적으로, 현재 행부터 이후의 모든 값 중 마지막 st_dt
값을 반환합니다.
하지만 이 구문은 범위(ROWS BETWEEN CURRENT ROW AND 9999 FOLLOWING
)가 비효율적일 수 있습니다.
일반적으로 RANGE
또는 다른 접근 방식을 사용하는 것이 더 나을 수 있습니다.
728x90
반응형
LIST