Как рассчитать среднее значение с начала года по дням SQL?

Чтобы рассчитать среднее значение по дням с начала года в MySQL, вам понадобится использовать функции агрегирования и выражения для работы с датами.

Сначала необходимо создать подзапрос, который вычислит сумму значений, которые нужно усреднить, по дням с начала года. Это можно сделать, используя функцию SUM() и выражение DATE_FORMAT() для извлечения даты начала года:

SELECT DATE_FORMAT(date_column, '%Y-01-01') AS start_of_year, SUM(value_column) AS sum_value
FROM table_name
GROUP BY DATE_FORMAT(date_column, '%Y-01-01')

Здесь date_column - это столбец, содержащий даты, а value_column - столбец, содержащий значения, которые вы хотите усреднить. table_name - имя вашей таблицы.

Затем, чтобы получить среднее значение, вы можете использовать этот подзапрос внутри другого запроса и применить функцию AVG() к столбцу sum_value:

SELECT AVG(sum_value) AS average_value
FROM (
    SELECT DATE_FORMAT(date_column, '%Y-01-01') AS start_of_year, SUM(value_column) AS sum_value
    FROM table_name
    GROUP BY DATE_FORMAT(date_column, '%Y-01-01')
) AS subquery

В результате выполнения этого запроса вы получите среднее значение по дням с начала года.