Методы расчета среднего значения (AVG) с помощью GROUP BY в SQL

  1. Метод 1. Использование функции AVG() с GROUP BY:

    SELECT column1, AVG(column2)
    FROM table
    GROUP BY column1;
  2. Метод 2: расчет среднего значения вручную с помощью SUM() и COUNT():

    SELECT column1, SUM(column2) / COUNT(column2)
    FROM table
    GROUP BY column1;
  3. Метод 3. Использование оконных функций (доступно в некоторых базах данных):

    SELECT column1, AVG(column2) OVER (PARTITION BY column1)
    FROM table;
  4. Метод 4. Использование подзапроса для расчета среднего значения:

    SELECT column1, (SELECT AVG(column2) FROM table t2 WHERE t1.column1 = t2.column1)
    FROM table t1
    GROUP BY column1;
  5. Метод 5: использование предложения With (также известного как общие табличные выражения или CTE) и оконных функций:

    WITH cte AS (
       SELECT column1, AVG(column2) OVER (PARTITION BY column1) AS avg_column2
       FROM table
    )
    SELECT column1, avg_column2
    FROM cte;