반응형
최대 날짜로 레코드 가져오기
내가 데이터를 추출했다고 가정해 보자.
예.
SELECT A, date
FROM table
(A의 각 값에 대해) 최대 날짜의 레코드만 원합니다.나는 쓸 수 있다.
SELECT A, col_date
FROM TABLENAME t_ext
WHERE col_date = (SELECT MAX (col_date)
FROM TABLENAME t_in
WHERE t_in.A = t_ext.A)
하지만 제 질문은 너무 길어서...ANALITY FUNTION을 사용하여 동일한 작업을 수행하는 보다 콤팩트한 방법이 있습니까?
분석 함수 접근법은 다음과 같습니다.
SELECT a, some_date_column
FROM (SELECT a,
some_date_column,
rank() over (partition by a order by some_date_column desc) rnk
FROM tablename)
WHERE rnk = 1
연결 처리 방법(또는 데이터 모델에서 연결 가능 여부)에 따라서는ROW_NUMBER
또는DENSE_RANK
분석 기능RANK
.
한다면date
그리고.col_date
에는, 간단하게 실시할 필요가 있는 컬럼이 있습니다.
SELECT A, MAX(date) FROM t GROUP BY A
사용하지 않는 이유:
WITH x AS ( SELECT A, MAX(col_date) m FROM TABLENAME GROUP BY A )
SELECT t.A, t.date FROM TABLENAME t JOIN x ON x.A = t.A AND x.m = t.col_date
그렇지 않은 경우:
SELECT A, FIRST_VALUE(date) KEEP(dense_rank FIRST ORDER BY col_date DESC)
FROM TABLENAME
GROUP BY A
다음 항목도 사용할 수 있습니다.
SELECT t.*
FROM
TABLENAME t
JOIN
( SELECT A, MAX(col_date) AS col_date
FROM TABLENAME
GROUP BY A
) m
ON m.A = t.A
AND m.col_date = t.col_date
A는 키, max(date)는 값입니다.이 경우 다음과 같이 쿼리를 단순화할 수 있습니다.
SELECT distinct A, max(date) over (partition by A)
FROM TABLENAME
Justin Cave의 답변이 가장 좋지만, 앙투아 옵션을 원하신다면 다음을 시도해 보십시오.
select A,col_date
from (select A,col_date
from tablename
order by col_date desc)
where rownum<2
Oracle 12C 이후 특정 수의 행을 가져올 수 있습니다.FETCH FIRST ROW ONLY
당신의 경우, 이는 '무엇을 의미하는지'를 의미합니다.ORDER BY
퍼포먼스를 고려해야 합니다.
SELECT A, col_date
FROM TABLENAME t_ext
ORDER BY col_date DESC NULLS LAST
FETCH FIRST 1 ROW ONLY;
그NULLS LAST
필드에 null 값이 있을 수 있습니다.
SELECT mu_file, mudate
FROM flightdata t_ext
WHERE mudate = (SELECT MAX (mudate)
FROM flightdata where mudate < sysdate)
언급URL : https://stackoverflow.com/questions/8898020/taking-the-record-with-the-max-date
반응형
'sourcecode' 카테고리의 다른 글
URL에서 해시 제거 (0) | 2023.02.15 |
---|---|
커스텀 PUBLIC_URL로 create-react-app 프로젝트를 빌드할 수 없습니다. (0) | 2023.02.15 |
@Autowired in kotlin과 같은 봄 주석 사용법 (0) | 2023.02.15 |
도커 컨테이너의 WordPress(연락처 양식)에서 이메일을 보내는 방법 (0) | 2023.02.11 |
WP REST API - 게시 요청 시 id 대신 카테고리 이름 가져오기 (0) | 2023.02.11 |