Junior — Middle
Έχετε εμπειρία στη χρήση συναρτήσεων παραθύρου κατά την εργασία με ερωτήματα SQL;
sobes.tech AI
Απάντηση από AI
Ναι, κατά την εργασία με ερωτήματα SQL, χρησιμοποίησα λειτουργίες παραθύρου (window functions). Επιτρέπουν την εκτέλεση υπολογισμών σε ένα σύνολο γραμμών που σχετίζονται με την τρέχουσα γραμμή, χωρίς να ομαδοποιούν το αποτέλεσμα, κάτι που είναι χρήσιμο για αναλύσεις και σύνθετα ερωτήματα.
Κύριες λειτουργίες παραθύρου:
ROW_NUMBER()— αριθμηση γραμμών εντός παραθύρουRANK(),DENSE_RANK()— κατάταξη λαμβάνοντας υπόψη ισοβαθμίεςSUM(),AVG(),COUNT()— συναθροιστικές λειτουργίες σε παράθυρο
Παράδειγμα: να πάρετε μια λίστα υπαλλήλων με το μισθό τους και τον αριθμό σειράς ανά τμήμα σε φθίνουσα σειρά μισθού:
SELECT
employee_id,
department_id,
salary,
ROW_NUMBER() OVER (PARTITION BY department_id ORDER BY salary DESC) AS salary_rank
FROM employees;
Εδώ, το PARTITION BY διαχωρίζει τα δεδομένα κατά τμήματα, και το ORDER BY ορίζει τη σειρά εντός κάθε τμήματος. Οι λειτουργίες παραθύρου επιτρέπουν την εκτέλεση σύνθετων αναλυτικών ερωτημάτων χωρίς απώλεια λεπτομερειών.