Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.09.2012, 07:31   #1
fobass
Форумчанин
 
Регистрация: 05.06.2008
Сообщений: 100
По умолчанию просуммировать время

Доброе время суток

Как можно просуммировать колонку в тбл. с типом “Дата/Время”.
Т.е в таблице есть следующие поля.
time_begin => Дата/Время (Записывается время открытии агрегата)
time_end => Дата/Время(Записывается время закрытии агрегата)
times => Дата/Время (Записывается time_end - time_begin. Так я смогу узнать, время работы каждого агрегата)
id_agr => Числовой (Записывается ИД агрегата)
мне нужно просуммировать поле times по id_agr
ADOConnection
ADOQuery
ADOTable
DB: Access 2003
fobass вне форума Ответить с цитированием
Старый 19.09.2012, 08:14   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Просуммировать зачем?
Какую консолидацию ты хочешь получить? Разницу между экстремумами в днях-часах-пр.?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 19.09.2012, 08:32   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

1-е. зачем записывать поле, которое ВЫЧИСЛЯЕТСЯ из двух других? Это избыточно.

2-е. так?
Код:
select id_agr, sum(times) from Таблица gorup by id_agr
p.s. сумма будет в каких-то единицах (скорее всего - в секундах), потом приведёте её к нужному виду.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 19.09.2012, 08:39   #4
fobass
Форумчанин
 
Регистрация: 05.06.2008
Сообщений: 100
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Просуммировать зачем? Какую консолидацию ты хочешь получить? Разницу между экстремумами в днях-часах-пр.?
Я хочу знать производительность каждого агрегата т.е сколько часов проработал каждый агрегат.
Мне нужен запрос к примеру

Код HTML:
SELECT sum(times) FROM TbNm WHERE id_agr=1
fobass вне форума Ответить с цитированием
Старый 19.09.2012, 08:57   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Код:
SELECT sum(times) FROM TbNm WHERE id_agr=1
ага. ну и чем этот запрос не устраивает?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 19.09.2012, 09:17   #6
fobass
Форумчанин
 
Регистрация: 05.06.2008
Сообщений: 100
По умолчанию

Спасибо всем. Все сделал, тему можно закрывать
fobass вне форума Ответить с цитированием
Старый 21.09.2012, 11:02   #7
fobass
Форумчанин
 
Регистрация: 05.06.2008
Сообщений: 100
По умолчанию

Подскажите пожалуйста не понимаю, почему в поле time_count пишется
Код:
ADOTable_e1.FieldByName('time_count').AsDateTime := ADOTable_e1.FieldByName('time_end').AsDateTime-ADOTable_e1.FieldByName('time_beg').AsDateTime;


time_beg: 22.09.2012 12:48:27
time_end: 22.09.2012 12:48:35
time_count: 30.12.1899 0:00:08

Последний раз редактировалось fobass; 21.09.2012 в 11:11.
fobass вне форума Ответить с цитированием
Старый 21.09.2012, 12:03   #8
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Нулевая дата: 30.12.1899 00:00:00
В вашем случае почти нулевая
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 21.09.2012, 12:35   #9
fobass
Форумчанин
 
Регистрация: 05.06.2008
Сообщений: 100
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Нулевая дата: 30.12.1899 00:00:00
В вашем случае почти нулевая
А можно ли подставить нули? 00.00.00 00:00:00
fobass вне форума Ответить с цитированием
Старый 21.09.2012, 12:55   #10
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

На отображение форматируйте hh:nn:ss. Тогда даты впереди не будет. Но если разница перевалит за 24 часа поимеете проблемы
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Просуммировать последовательность байтов в цикле deman_sibir Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 10.09.2012 18:04
Как просуммировать диапазоны? Алексей11111 Microsoft Office Excel 7 28.11.2009 18:19
Как просуммировать список??? F_A_N_Alex Помощь студентам 8 02.10.2009 17:18
как просуммировать динамический диапазон abocharov Microsoft Office Excel 8 22.10.2008 18:47
Как просуммировать одинаковые наименования? Алька Microsoft Office Excel 1 23.05.2007 22:02