Middle
როგორ დავყოთ მონაცემები ჯგუფებად SQL-ში ფანჯრის ფუნქციების გამოყენებით?
sobes.tech AI
პასუხი AI-სგან
SQL-ის ფანჯრის ფუნქციები საშუალებას იძლევა გამოთვლები განახორციელოს სვეტების ჯგუფებზე, არამც და არამც ამცირებს შედეგს ერთ სვეტად, როგორც GROUP BY-ის დროს. ისინი მუშაობენ სვეტების ნაკრებზე (ფანჯარაზე), რომელიც განსაზღვრულია თითოეულ სვეტზე.
მონაცემების დაყოფა ჯგუფებად და ფანჯრის ფუნქციების გამოყენება ხდება OVER (PARTITION BY ...) კონსტრუქციის გამოყენებით. მაგალითად:
SELECT
employee_id,
department_id,
salary,
RANK() OVER (PARTITION BY department_id ORDER BY salary DESC) AS salary_rank
FROM employees;
აქ მონაცემები ნაწილდება department_id-ზე დაყრდნობით, და თითოეულ ჯგუფში გამოითვლება ანაზღაურების რანგი.
ასე რომ, ფანჯრის ფუნქციები საშუალებას იძლევა მონაცემების ანალიზი ჯგუფების მიხედვით, ამავდროულად შენარჩუნებული რჩება ყველა სვეტი ორიგინალური ცხრილიდან.