Здравствуйте, у меня есть таблица, которая выглядит так:
Мне нужно получить среднее значение за день, но поскольку даты одинаковы для 3 строк в дате с этим кодом:
SELECT Date, Train, avg(Passengers) AS Avg_Passengers
FROM trainstation
WHERE Date != Date + 1 -- I know it's wrong like this but I don't know how to make a condition like this
group by Date, Train
Я получаю сообщение об ошибке и без ГДЕ я получаю ту же таблицу, но в плавающем типе количество пассажиров
Результат, который я хочу:
@Gordon Linoff только что отредактировал
. . .Это второй вопрос в моем ответе. Я подумал, что ты хотел что-то подобное.
попробуй это :
from
(
select Date, Train, sum(passenger) as 'price'
from table
group by Date, Train
)
group by Date
Если вам нужно среднее количество пассажиров на поезд, вы должны использовать:
SELECT Train, avg(Passengers) AS Avg_Passengers
FROM trainstation
GROUP BY Train;
Если вы хотите получить среднее значение по всем поездам в день:
SELECT Date, avg(Passengers) AS Avg_Passengers
FROM trainstation
GROUP BY Date;
Чисто предположение, но, возможно, это потому, что ответ был предоставлен до того, как вопрос был отредактирован, что скорее сводит на нет ваше собственное предложение об улучшении вопроса; и форма привратника, если хотите
Я думаю, что это сработает для вас:
select Datepart(day, Date), avg(passengers)
from yourTable
group by Datepart(day, Date)
Отредактируйте свой вопрос и покажите нужные результаты.