Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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
1-1109267295
Fenik
2005-02-24 20:48
2005.03.13
Память, занимаемая массивом, содержащим дин. массивы.


1-1109265207
novice_man
2005-02-24 20:13
2005.03.13
Очистка списка указателей.


1-1109451370
0x010012
2005-02-26 23:56
2005.03.13
Что то не то!


14-1108883719
AlterEgo of WondeRu
2005-02-20 10:15
2005.03.13
Вчера попытался посмотреть ДОМ2...


14-1108784018
Doxygen
2005-02-19 06:33
2005.03.13
Знатокам HTML





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский