Я пишу sql-запрос, который будет группировать столбец и возвращать его минимальные, максимальные и средние значения. Вот что я делаю:Получение неправильного значения AVG() для столбца в sql
CREATE TABLE Nums (
patient_id VARCHAR(20),
val DOUBLE
);
INSERT INTO Nums
VALUES ("A", 100), ("A", 175), ("B", 200), ("B", 100), ("B",20), ("B",2000), ("B",4000);
select AVG(event_count), MIN(event_count), MAX(event_count)
from Nums a
join (select patient_id, count(*) as event_count from Nums group by patient_id) b
on a.patient_id = b.patient_id;
Я получаю выход на следующий запрос, как
AVG(event_count) MIN(event_count) MAX(event_count)
4.1429 2 5
Я получаю правильные значения для мин и макс, но я ожидал, что среднее значение будет 3.5 , Я не уверен, что я делаю неправильно. Любые указатели на то, что мне не хватает?
Спасибо.
Что вы ожидали от 'average_count'? – Sadikhasan
Нечетно, что столбец с плавающей точкой будет содержать такие значения. – Strawberry