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;
Бул жерде, ар бир кызматкер үчүн, бөлүмдүн ичинде айлыкка карата анын рейтинги эсептелет, бардык саптар сакталат.
Терезе функциялары аналитика, отчеттор жана кыйынчылык менен эсептөөлөр үчүн пайдалуу, анда ар бир саптын контекстин башка саптарга салыштырмалуу көрүү керек.