Результаты группы Давг по дате - PullRequest
0 голосов
/ 29 января 2019

У меня есть следующий набор данных, который выглядит следующим образом.Я хотел бы выбрать только тех, у кого есть «1» для переменной ESITwoToFive, а затем вычислить среднее значение total_ED_LOS для каждой уникальной даты.Например, среднее значение за 7 февраля будет иметь только значения из идентификаторов 1 и 3.

ID  CheckinDate  ESITwoToFive    Total_ED_Los
 1   Feb 7             1               23
 2   Feb 7             0               23
 3   Feb 7             1               28
 4   Feb 8             1               43
 5   Feb 8             1               83
 6   Feb 8             0               29
 7   Feb 9             1               93
 8   Feb 9             1               77
 9   Feb 9             0               33

Я использую следующий синтаксис, но мои выходные данные содержат одинаковые средние значения для каждой даты.

SELECT [Fast Track Quality Research ESI Levels].checkin_date, 
DAvg("total_ed_los","Fast Track Quality Research ESI Levels","ESITwoToFive = 
'1'") AS Expr1

FROM [Fast Track Quality Research ESI Levels]
GROUP BY [Fast Track Quality Research ESI Levels].checkin_date;

Вывод, который я получаю ...

Checkindate          Avg LOS
 Feb 7                   24
 Feb 8                   24
 Feb 9                   24

Желаемый вывод ....

 Checkindate             Avg LOS
 Feb 7                   24
 Feb 8                   54
 Feb 9                   86

1 Ответ

0 голосов
/ 29 января 2019

Я бы предложил использовать функцию Avg вместо функции агрегирования домена DAvg, например:

select t.checkin_date, avg(t.total_ed_los) as [Avg LOS]
from [Fast Track Quality Research ESI Levels] t
where t.esitwotofive = 1
group by t.checkin_date

Функция DAvg в вашем примере вычисляет среднее значение по всем записей, для которых ESITwoToFive = '1' до данные агрегируются по дате, поэтому вы получаете одинаковый результат для каждой записи, выводимой запросом.

...