Мне нужно усреднить все часы и минуты поля под названием «TS» в таблице, названной bitacoratiempo, это поле имеет тип varchar, а его структура - это TS: «00:05» я смог изменить от VARCHAR времени таким образом:Взять среднее количество всех часов коллекции
((@prom_tiempo_visita.TS).to_time.strftime('%H:%M:%S'))
Как я могу получить средний все эти часы и минуты
Я попробовал этот
@prom_tiempo_visita = Bitacoratiempo.prom_tiempo_visita(params).average(:TS)
, но я получаю эту ошибку:
ActiveRecord::StatementInvalid (TinyTds::Error: Operand data type varchar is invalid for avg operator.: EXEC sp_executesql N'SELECT DISTINCT AVG([bitacoratiempos].[TS]) FROM [bitacoratiempos] left outer join clientes on bitacoratiempos.Codigo=clientes.IdCli WHERE ((bitacoratiempos.RutaId = N''161'' or N''161'' = '''') AND (bitacoratiempos.IdEmpresa = N''208'')) AND (bitacoratiempos.HI >= N''2014-12-01'' AND bitacoratiempos.HI <= N''2016-12-01'')'):
app/controllers/ventas_controller.rb:20:in `busqueda_general_graficos'
Вы пытались это сделать сами? Можем ли мы увидеть ваш код, чтобы исправить это? –
@DmitryTonkonogov обновлен :) – LuisC