QUALIFY 절
적용 대상: Databricks SQL Databricks Runtime 10.4 LTS 이상.
window 함수의 결과를 필터링합니다. QUALIFY
를 사용하려면 SELECT
목록 또는 QUALIFY
절에 창 함수가 하나 이상 있어야 합니다.
구문
QUALIFY boolean_expression
매개 변수
-
결과 형식
boolean
으로 평가되는 모든 식입니다. 논리 연산자(AND, OR)를 사용하여 둘 이상의 식을 함께 결합할 수 있습니다.QUALIFY
절에 지정된 식은 집계 함수를 포함할 수 없습니다.
예제
CREATE TABLE dealer (id INT, city STRING, car_model STRING, quantity INT);
INSERT INTO dealer VALUES
(100, 'Fremont', 'Honda Civic', 10),
(100, 'Fremont', 'Honda Accord', 15),
(100, 'Fremont', 'Honda CRV', 7),
(200, 'Dublin', 'Honda Civic', 20),
(200, 'Dublin', 'Honda Accord', 10),
(200, 'Dublin', 'Honda CRV', 3),
(300, 'San Jose', 'Honda Civic', 5),
(300, 'San Jose', 'Honda Accord', 8);
-- QUALIFY with window functions in the SELECT list.
> SELECT
city,
car_model,
RANK() OVER (PARTITION BY car_model ORDER BY quantity) AS rank
FROM dealer
QUALIFY rank = 1;
city car_model rank
-------- ------------ ----
San Jose Honda Accord 1
Dublin Honda CRV 1
San Jose Honda Civic 1
-- QUALIFY with window functions in the QUALIFY clause.
SELECT city, car_model
FROM dealer
QUALIFY RANK() OVER (PARTITION BY car_model ORDER BY quantity) = 1;
city car_model
-------- ------------
San Jose Honda Accord
Dublin Honda CRV
San Jose Honda Civic