Sobes.tech
Middle

Какви агрегиращи и прозоречни функции използвахте в работата си?

sobes.tech AI

Отговор от AI

При работа с данни често използвах следните агрегиращи и прозоречни функции:

Агрегиращи функции:

  • SUM() — сумиране на стойности в група.
  • COUNT() — броене на записи.
  • AVG() — изчисляване на средна стойност.
  • MIN() и MAX() — намиране на минимална и максимална стойност.

Прозоречни функции:

  • ROW_NUMBER() — номериране на редове в рамките на прозореца.
  • RANK() и DENSE_RANK() — класиране с вземане предвид равенства.
  • LAG() и LEAD() — достъп до предишна или следваща стойност в прозореца.
  • SUM() OVER (PARTITION BY ...) — агрегирана сума с разделяне по групи без групиране на цялата извадка.

Пример за използване на прозоречна функция:

SELECT user_id, order_date, amount,
       SUM(amount) OVER (PARTITION BY user_id ORDER BY order_date ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS running_total
FROM orders;

Това позволява анализиране на натрупващи показатели и тенденции по данните.