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

#sql #amazon-web-services #statistics #amazon-redshift

#sql #amazon-веб-сервисы #Статистика #amazon-redshift

Вопрос:

У меня есть некоторые данные в таблице, которая содержит дату в виде одного столбца и количество (*).

Но у меня есть требование нарисовать диаграмму медианного или среднего количества за этот год / месяц / неделю / день, а строка ошибок представляет собой разброс данных

 SELECT DATE_PART(year,l_date) as year, (count(*))
from am_history
group by year;
  

которое дает год и количество строк в год. Как вычислить медиану для этого значения (*) и ошибку (стандартное отклонение)?
Я понимаю, что если за год я узнаю запрос, остальное за месяц, неделю и т.д. Можно легко выполнить.

Я новичок в вычислении статистики, пожалуйста, помогите

Комментарии:

1. Не могли бы вы добавить конечный / ожидаемый результат? Спасибо.

2. (1) Я удалил несовместимые теги базы данных. Пожалуйста, укажите используемую вами базу данных (и используйте синтаксис, соответствующий этой базе данных. (2) Стандартное отклонение обычно используется со средним значением («mean»), а не медианным.

3. конечно, я использую aws redshift. Как нам найти среднее значение для подсчета? когда я использую avg (count (*)), это выдает ошибку? @GordonLinoff

4. Что вы ожидаете получить за «среднее значение для подсчета»? Вы ожидаете получить одну строку в результате или по одной строке в год? Если вы ожидаете одну строку, почему вы показываете год? Если вы ожидаете одну строку в год, что вы подразумеваете под «средним количеством» за год?

Ответ №1:

Пожалуйста, попробуйте это.

 SELECT DATEPART(year,l_date) as [year], count(l_date) as counts 
from am_history
group by DATEPART(year,l_date);
  

Пример:—

 Declare @tbl Table(
id INT ,
[group]  Varchar(50),
value varchar(50),
Dat DATETIME
)

INSERT INTO @tbl VALUES(1,'1.1.03.01.00.00',NULL,GETUTCDATE()-100)
INSERT INTO @tbl VALUES(2,'1.1.03.01.01.00',NULL,GETUTCDATE()   7)
INSERT INTO @tbl VALUES(3,'1.1.03.01.02.00',NULL,GETUTCDATE() 10)

SELECT DATEPART(year,Dat)As years,count(Dat) as counts  FROM @tbl  group by DATEPART(year,Dat)
  

Комментарии:

1. но как вы находите медиану этого значения? и ошибка (стандартная разработка)??

2. Это не ответ с красным смещением.