2015-06-30 4 views
1

В моей таблице, я храню action_seconds для любого события в секундахSQL Time Avg Расчет

Название таблицы: event_table

id | action_seconds 
1 | 90 
2 | 120 
3 | 140 

Теперь, когда я вычисляю СРЕДНЕМ из action_seconds,

запрос : select avg(action_seconds) from event_table;

Ожидаемый результат: 1.56

Фактический выход: 116,66

Возможно ли это? как сделать? Какое литье я должен реализовать для достижения этого ожидаемого результата?

+0

эй, было бы полезно знать точное определение типа данных столбца action_seconds ... – byMike

+1

путем определения action_seconds в интервале I получите в среднем 1 минуту 56.6667 секунд. это на самом деле соответствует 116,66 секунды ... – byMike

+1

Тип данных action_seconds является целым числом. Redshift не поддерживает тип данных интервала! – ErRoR

ответ

1

Используйте следующий запрос. Это возвращает среднее (который был в секундах первоначально) как minutes.seconds

SELECT TO_CHAR((AVG(action_seconds) || ' second')::interval, 'MI.SS') FROM event_table;