Oracle SQL에서 각 그룹에 대한 최신 항목 추출
이 튜토리얼은 일반적인 데이터베이스 작업을 보여줍니다. 타임 스탬프를 기반으로 각 그룹의 최신 레코드를 검색합니다. 예를 들어 ID, 타임 스탬프 및 수량이 포함 된 테이블을 사용합니다.
도전:
id, timestamp ( "date") 및 수량 ( "수량") 열이있는 테이블이 주어지면 모든 고유 한 ID에 대해 최신 수량 (및 관련 타임 스탬프)을 효율적으로 선택합니까?
해결책:
이것은 다음 접근법을 사용하여 달성 할 수 있습니다.
SELECT x.id, x."date", x.quantity
FROM (
SELECT
id,
"date",
RANK() OVER (PARTITION BY id ORDER BY "date" DESC) AS rnk,
quantity
FROM qtys
) x
WHERE x.rnk = 1;
쿼리 확장 :
이 기본 쿼리는보다 복잡한 요구를 충족하도록 조정할 수 있습니다.
내부 쿼리에
조항을 특정 기간으로 제한하기 위해
id 이 방법은 다양한 데이터 분석 및 조작 작업에 적용 할 수있는 Oracle SQL의 타임 스탬프를 기반으로 그룹 당 최신 값을 검색하는 강력하고 효율적인 방법을 제공합니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3