предложение QUALIFY
Область применения: Databricks SQL
Databricks Runtime 10.4 LTS и выше.
Фильтрует результаты функций окна. Чтобы использовать 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
Связанные инструкции
- SELECT (subselect)
- WHERE предложения
- GROUP BY предложения
- ORDER BY предложения
- SORT BY предложения
- предложение CLUSTER BY (SELECT)
- DISTRIBUTE BY предложения
- LIMIT предложения
- PIVOT предложения
- LATERAL VIEW предложения