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 განსაზღვრავს წესრიგს თითოეულ სექციაში. ფანჯრის ფუნქციები საშუალებას აძლევს რთული ანალიტიკური კითხვების შესრულებას დეტალების დაკარგვის გარეშე.