Aracılığıyla paylaş


QUALIFY yan tümcesi

Şunlar için geçerlidir: onay işareti evet olarak işaretlenmiş Databricks SQL onay işareti evet olarak işaretlenmiş Databricks Runtime 10.4 LTS ve üzeri.

Pencere işlevlerinin sonuçlarını filtreler. kullanmak QUALIFYiçin, listede veya yan tümcesinde en az bir pencere işlevinin SELECT QUALIFY bulunması gerekir.

Sözdizimi

QUALIFY boolean_expression

Parametreler

  • boolean_expression

    Sonuç türü booleanolarak değerlendirilen herhangi bir ifade. İki veya daha fazla ifade mantıksal işleçler ( AND, OR) kullanılarak birleştirilebilir.

    yan tümcesinde QUALIFY belirtilen ifadeler toplama işlevleri içeremez.

Örnekler

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