Sobes.tech
Middle

SQL-ში ფანჯრის ფუნქციები რა არის და რა მიზნით გამოიყენება?

sobes.tech AI

პასუხი AI-სგან

ვინდოუ ფუნქციები (window functions) SQL-ში — ეს ფუნქციებია, რომლებიც ახორციელებენ გამოთვლებს მიმდინარე სვეტისთან დაკავშირებულ სვეტთა ნაკრებზე, გარეშე შედეგების გაერთიანებას ერთ სვეტად, როგორც ეს ხდება აგრეგატული ფუნქციების დროს.

მათ საშუალებას იძლევა, მაგალითად, გამოითვალოს მოძრავი ჯამები, სვეტების რეიტინგი, კუმულატიური ჯამები, საშუალო მნიშვნელობები და ა.შ., ამავდროულად შენარჩუნებული რჩება შედეგის სვეტების თავდაპირველი რაოდენობა.

ROW_NUMBER() ვინდოუ ფუნქციის გამოყენების მაგალითი:

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

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

ვინდოუ ფუნქციები სასარგებლოა ანალიტიკის, ანგარიშგებების და რთული გამოთვლებისათვის, სადაც საჭიროა თითოეული სვეტის კონტექსტის დანახვა სხვა სვეტებთან მიმართებაში.