Форум: "Базы";
Текущий архив: 2005.03.13;
Скачать: [xml.tar.bz2];
ВнизКак получить общее и среднее время в стат.выборке? Найти похожие ветки
← →
miwa © (2005-02-14 11:07) [0]Есть 2 таблички. В первой - инфо о видеофайлах, во второй - об их просмотрах. Тоесть имеем типичное "один-ко-многим".
Делаю вот так:select files.id, file_name,
sum(look_length - cast("00:00:00" as time)),
avg(look_length - cast("00:00:00" as time)),
count(looks.id)
from looks, files
where looks.file_id = files.id
group by files.id, file_name
order by 3 desc
Работает отлично, но результаты дает в секундах, что не есть удобно. А вот так
select
files.id,
file_name,
cast (sum(cast(look_length as DOUBLE PRECISION)) as time),
cast (avg(cast(look_length as DOUBLE PRECISION)) as time),
count(looks.id)
from looks, files
where files.id = looks.file_id
group by files.id, files.file_name
order by 3 desc
Получаю ошибку:Overflow occurred during data type conversion. Conversion error from string "00:00:01.0000".
При этом еще и IBExpert AV выплевывает (правда, не вылетает, просто ругается):AV at 005AC167. Read of address 000000034.
← →
Johnmen © (2005-02-14 11:21) [1]1. А в чем удобно ?
2. Текст ошибки неясен ?
← →
miwa © (2005-02-14 11:32) [2]1. Удобно, например, в формате ЧЧ:ММ:СС, для чего и делался другой запрос.
2. Текст ошибки ясен. Неясно ее происхождение, особенно в светеfrom string
. А так же как с ней бороться.
← →
Sergey13 © (2005-02-14 12:09) [3]2[2] miwa © (14.02.05 11:32)
>1. Удобно, например, в формате ЧЧ:ММ:СС, для чего и делался другой запрос.
Ну дык и интерпретируй на клиенте как хочешь.
← →
miwa © (2005-02-14 12:22) [4]2 Sergey13 © (14.02.05 12:09) [3]
Ну дык и интерпретируй на клиенте как хочешь.
Тогда пните в нужном направлении, как это сделать? OnCalcFields обрабатывать? А, чуть не забыл. Использую EhLib-ы.
← →
miwa © (2005-02-14 12:23) [5]Тоесь, я имею в виду, насколько такое решение будет правильным - вместо получения данных из запроса в формате time приводить их в этот формат на клиенте.
← →
Sergey13 © (2005-02-14 12:33) [6]2[4] miwa © (14.02.05 12:22)
>Тогда пните в нужном направлении, как это сделать? OnCalcFields обрабатывать?
А почему нет? Раздели на 60, получишь минуты. Еще раз - часы.
>А, чуть не забыл. Использую EhLib-ы.
Это фиолетово, ИМХО.
← →
miwa © (2005-02-14 12:50) [7]>А, чуть не забыл. Использую EhLib-ы.
Это фиолетово, ИМХО.
Мало ли. А вдруг там есть какая-то фича, о которой я не подозреваю :о).
В общем, если обработка в OnCalcFields премлема (как метод) - всем спасибо за внимание и участие.
← →
Deniz (2005-02-15 06:38) [8]Не обязательно OnCalcField, можно в OnGetText у поля хоть "черта лысего" написать.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2005.03.13;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.038 c