Главная страница
    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.037 c
1-1109446045
Bogdan
2005-02-26 22:27
2005.03.13
Почему нету файла?


4-1105224836
Arnold
2005-01-09 01:53
2005.03.13
Проблема с ComboBox на WinApi


14-1109087267
r.o.o.t
2005-02-22 18:47
2005.03.13
АБАЛДЕТЬ!!!!!


14-1108986537
Магнит
2005-02-21 14:48
2005.03.13
вопрос обладателям КПК


3-1108030742
BPK
2005-02-10 13:19
2005.03.13
TDataSet.Locate не работает по сортированному DataSet





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