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