Data Analytics

SQL - Window Functions

ROW_NUMBER, RANK, DENSE_RANK, LAG, LEAD, NTILE, SUM OVER, PARTITION BY, frames

20 pytań z rozmów·
Mid-Level
1

Czym jest window function w SQL?

Odpowiedź

Window function wykonuje obliczenia na zestawie wierszy związanych z bieżącym wierszem, bez zwijania wyników do pojedynczego wiersza wyjściowego. W przeciwieństwie do GROUP BY, które redukuje liczbę wierszy, window function zachowuje wszystkie wiersze w wyniku, dodając obliczoną kolumnę. Klauzula OVER() definiuje okno, na którym wykonywane jest obliczenie.

2

Która klauzula jest obowiązkowa do zdefiniowania window function?

Odpowiedź

Klauzula OVER() jest obowiązkowa dla każdej window function. Mówi silnikowi SQL, że funkcja powinna być wykonywana jako window function, a nie jako zwykła funkcja agregująca. OVER() może zawierać PARTITION BY, ORDER BY i specyfikację frame, ale może również pozostać pusta, aby zastosować obliczenia do całego zestawu wyników.

3

Jaka jest rola PARTITION BY w window function?

Odpowiedź

PARTITION BY dzieli zestaw wierszy na niezależne grupy (partycje), a window function jest stosowana oddzielnie do każdej partycji. W przeciwieństwie do GROUP BY, PARTITION BY nie zmniejsza liczby wierszy w wyniku. Na przykład SUM(sales) OVER(PARTITION BY region) oblicza całkowitą sprzedaż na region, zachowując każdy pojedynczy wiersz.

4

Jaka jest główna różnica między GROUP BY a PARTITION BY?

5

Co zwraca ROW_NUMBER() OVER(ORDER BY salary DESC)?

+17 pytań z rozmów

Opanuj Data Analytics na następną rozmowę

Uzyskaj dostęp do wszystkich pytań, flashcards, testów technicznych, ćwiczeń code review i symulatorów rozmów.

Zacznij za darmo