Sobes.tech
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-ზე დაყრდნობით, და თითოეულ ჯგუფში გამოითვლება ანაზღაურების რანგი.

ასე რომ, ფანჯრის ფუნქციები საშუალებას იძლევა მონაცემების ანალიზი ჯგუფების მიხედვით, ამავდროულად შენარჩუნებული რჩება ყველა სვეტი ორიგინალური ცხრილიდან.