În SQL standard (PostgreSQL, MySQL), dacă doriți să filtrați rezultatul unei funcții analitice precum row_number() = 1, sunteți forțat să scrieți o sub-interogare imbricată sau un CTE suplimentar (deoarece WHERE se execută înaintea funcțiilor window). Clauza elegantă QUALIFY din Snowflake permite filtrarea directă în aceeași interogare.
Exemplu: Preluarea ultimei comenzi per client într-o singură instrucțiune
-- Fără sub-interogări și fără CTE-uri intermediare:
SELECT
client_id,
comanda_id,
data_comanda,
valoare_totala
FROM analytics.fct_comenzi
QUALIFY ROW_NUMBER() OVER (PARTITION BY client_id ORDER BY data_comanda DESC) = 1;
Întrebări & Exemple de Cod:
Filtrarea pe Funcții Window cu Clauza QUALIFYAi o nelămurire despre utilizarea comenzii
Filtrarea pe Funcții Window cu Clauza QUALIFYsau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!
Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.