Sobes.tech
Junior — Middle

Haben Sie Erfahrung im Umgang mit Fensterfunktionen bei der Arbeit mit SQL-Abfragen?

sobes.tech KI

Antwort von AI

Ja, bei der Arbeit mit SQL-Abfragen habe ich Fensterfunktionen (window functions) verwendet. Sie ermöglichen es, Berechnungen über eine Menge von Zeilen durchzuführen, die mit der aktuellen Zeile verbunden sind, ohne das Ergebnis zu gruppieren, was für Analysen und komplexe Abfragen praktisch ist.

Hauptfensterfunktionen:

  • ROW_NUMBER() — Zeilennummerierung im Fenster
  • RANK(), DENSE_RANK() — Rangfolge unter Berücksichtigung von Gleichständen
  • SUM(), AVG(), COUNT() — Aggregatfunktionen über das Fenster

Beispiel: Liste der Mitarbeiter mit ihrem Gehalt und ihrer Rangfolge nach Abteilung in absteigender Gehaltsordnung:

SELECT
  employee_id,
  department_id,
  salary,
  ROW_NUMBER() OVER (PARTITION BY department_id ORDER BY salary DESC) AS salary_rank
FROM employees;

Hier teilt PARTITION BY die Daten nach Abteilungen, und ORDER BY legt die Reihenfolge innerhalb jeder Abteilung fest. Fensterfunktionen ermöglichen komplexe analytische Abfragen, ohne Details zu verlieren.