Главная страница
    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.47 MB
Время: 0.038 c
4-1106860078
Unknown
2005-01-28 00:07
2005.03.13
Окно сзади


3-1108374949
atruhin
2005-02-14 12:55
2005.03.13
IBDatabase требует ввода пароля, как избивиться


4-1106136295
ShiZ
2005-01-19 15:04
2005.03.13
Отлавливание сигналов с клавиатуры.


14-1108901620
kaZaNoVa
2005-02-20 15:13
2005.03.13
PHP-качалка сайтов


6-1105438289
Senti
2005-01-11 13:11
2005.03.13
Передача файлов в отдельных потоках





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский