Sobes.tech
Junior — Middle

Vai jums ir pieredze ar logu funkciju izmantošanu, strādājot ar SQL vaicājumiem?

sobes.tech AI

Atbilde no AI

Jā, strādājot ar SQL vaicājumiem, es izmantoju logu funkcijas (window functions). Tās ļauj veikt aprēķinus par virkņu kopumu, kas ir saistīts ar pašreizējo rindu, bez rezultātu grupēšanas, kas ir noderīgi analīzei un sarežģītiem vaicājumiem.

Galvenās logu funkcijas:

  • ROW_NUMBER() — rindu numurēšana logā
  • RANK(), DENSE_RANK() — reitinga noteikšana ņemot vērā vienlīdzības
  • SUM(), AVG(), COUNT() — agregātas funkcijas logā

Piemērs: iegūt darbinieku sarakstu ar viņu algām un rangu pēc nodaļas pēc samazināšanas pēc algas:

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

Šeit PARTITION BY sadala datus pēc nodaļām, bet ORDER BY nosaka kārtību katrā nodaļā. Logu funkcijas ļauj veikt sarežģītas analītiskas vaicājumus bez detaļu zaudēšanas.