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

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

Предположим, у вас есть таблица с данными, содержащая столбец "value" с числовыми значениями и столбец "date" с датами в формате DATETIME.

Чтобы получить среднее значение за сутки, вы можете использовать следующий запрос:

SELECT DATE(date) AS day, AVG(value) AS avg_value
FROM your_table
WHERE date >= '2020-01-01' AND date < '2020-01-02'
GROUP BY day;

Этот запрос выберет все значения из таблицы, соответствующие 1 января 2020 года, и рассчитает среднее значение столбца "value" для каждого дня. Результат будет содержать столбец "day" с датами и столбец "avg_value" со средними значениями.

Аналогично, для получения средних значений за месяц и год, вы можете использовать функции MONTH и YEAR:

-- Среднее значение за месяц
SELECT YEAR(date) AS year, MONTH(date) AS month, AVG(value) AS avg_value
FROM your_table
WHERE YEAR(date) = 2020 AND MONTH(date) = 1
GROUP BY year, month;

-- Среднее значение за год
SELECT YEAR(date) AS year, AVG(value) AS avg_value
FROM your_table
WHERE YEAR(date) = 2020
GROUP BY year;

В обоих запросах, вам нужно указать соответствующие значения для datetime столбца "date" и применить функции YEAR и MONTH, чтобы ограничить выборку только по нужному периоду.

Надеюсь, это помогает! Если вы имели в виду что-то другое или у вас есть дополнительные вопросы, пожалуйста, уточните.