중복된 행(고유 ID + 타임스탬프 존재)이 포함된 스트리밍 삽입을 수신합니다. 중복을 제외하는 대화형 쿼리의 경우 어떤 쿼리 패턴을 사용해야 합니까?
정답 선택
옵션을 탭하여 정답을 확인하세요.
정답: row가 1과 같은 WHERE와 함께 고유 ID로 PARTITION하는 ROW_NUMBER 윈도우 함수를 사용합니다..
이것이 정답인 이유
스트리밍 삽입에서 중복된 행을 제거하고 각 고유 ID에 대해 가장 최신 또는 단일 레코드를 유지하려면 ROWNUMBER() 윈도우 함수가 효과적입니다. 이 함수는 PARTITION BY 절을 사용하여 고유 ID별로 데이터를 그룹화하고, ORDER BY 절을 사용하여 타임스탬프(일반적으로 최신 순)에 따라 각 파티션 내의 행에 순차적인 번호를 할당합니다. WHERE rownumber = 1 조건을 사용하여 각 고유 ID에 대해 첫 번째(가장 최신) 행만 선택함으로써 중복을 제거할 수 있습니다. 다른 옵션들은 다음과 같은 이유로 적합하지 않습니다. ORDER BY DESC LIMIT 1: 이 방법은 전체 데이터셋에서 단 하나의 행만 반환하므로, 각 고유 ID에 대한 단일 행을 유지하는 데는 부적합합니다. GROUP BY 및 SUM: 이 방법은 중복을 제거하기보다는 데이터를 집계하는 데 사용됩니다. SUM은 숫자 필드에만 적용 가능하며, 다른 필드의 중복을 제거하지 않습니다. LAG 윈도우 함수: LAG는 이전 행의 값을 가져오는 데 사용되며, 중복 제거보다는 시계열 데이터에서 변화를 감지하는 데 더 적합합니다.
끝없는 정답 찾기 없이 시험 합격
이 시험에 대한 모든 검증된 문제와 설명을 한곳에서 얻고, 준비 시간을 몇 시간 절약하세요. 1,000개 이상의 자격증 · 20개 이상의 언어 · 무료로 시작.
더 빠르게 시험 합격 → 카드 필요 없음