Группируем измерения по планете и вычисляем AVG температуры. NULL обычно не участвует в среднем, поэтому отсутствие данных не следует автоматически заменять нулём.
Определение среднего значения температуры для каждой планеты в SQL
Группируем измерения по планете и вычисляем AVG температуры. NULL обычно не участвует в среднем, поэтому отсутствие данных не следует автоматически заменять нулём.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
Необходимо получить среднее значение температуры для каждой планеты, используя данные из таблицы, содержащей измерения температуры.
Ответ
Группируем измерения по планете и вычисляем AVG температуры. NULL обычно не участвует в среднем, поэтому отсутствие данных не следует автоматически заменять нулём.
Если условные имена таблицы и полей — measurements(planet_id, temperature), запрос такой:
SELECT planet_id, AVG(temperature) AS average_temperature
FROM measurements
GROUP BY planet_id;
Это среднее по записям, а не взвешенное по времени или площади наблюдения. Если нужно показать планеты совсем без измерений, начните со справочника планет и выполните LEFT JOIN. Единицы измерения должны быть одинаковыми; названия таблицы и полей в исходном условии не заданы.
Источник: www.postgresql.org.