|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
28.09.2007, 07:06 | #1 |
Участник клуба
Регистрация: 07.07.2007
Сообщений: 1,518
|
Агрегатная функция SUM для DateTime
Для поля DateTime не работает агрегатная функция SUM(....).
Не могу врубиться почему... Ведь DateTime по своей сущности является дробным числом. А циклично сложить дату-время в таблице можно. Попробую "на пальцах" изложить суть проблемы пока без таблицы... Нужно посчитать время пребывания человека на работе. Итак... Код:
Таким образом, можно взять сумму всех уходов минус сумму всех приходов. Но суммировать данные таблицы циклом - это идиотизм. При вызове запроса SELECT SUM(aDATETIME) FROM.... сразу вылетает ошибка "Нет числового аргумента для числового оператора SUM". Написание чего-то типа SELECT SUM(aDATETIME) AS "DOUBLE" FROM.... результата не даёт. Вопрос: как правильно взять сумму даты-времени одним запросом? Буду рад любой инфе. Вторые сутки мучаюсь... |
28.09.2007, 08:42 | #2 | |
Форумчанин
Регистрация: 20.06.2007
Сообщений: 270
|
Вот что по этому поводу написано в книге Аллен Дж. Тейлор "SQL для чайников" (описан стандарт SQL:1999):
Цитата:
Тоесть, как я понимаю, ты можешь сделать вычисляемое поле, где определяешь интервал относительно какой-то даты, а потом просуммировать по этому полю.
-Кукушка, кукушка! Накукуй мне сто лет!
-А накукуй тебе столько? (с) Библия. Вольный перевод с древнееврейского. |
|
28.09.2007, 10:06 | #3 |
детский тренер
Форумчанин
Регистрация: 08.06.2007
Сообщений: 532
|
SELECT FROM_DAYS(SUM(TO_DAYS(Твое поле))) FROM tbl_name;
Но результат будет в Грегорианском календаре по идее FROM_DAYS должно преобразовать дату, но оно что-то не так преобразовует... Григорианский календарь - єто число дней с 1 января 4712 года до нашей єрі и указанной датой.... а вот для времени: SELECT SEC_TO_TIME(SUM(TIME_TO_SEC(столбец времени))) FROM Тфблица;
Я злой и страФный серррый воФк, и в пАрАсятах знаю толк - ppp ppp pp p pp pp
Последний раз редактировалось Pitbull; 28.09.2007 в 10:55. |
28.09.2007, 16:16 | #4 |
Участник клуба
Регистрация: 07.07.2007
Сообщений: 1,518
|
Что-то SELECT SEC_TO_TIME не прокатывает.
Ну, лан... Что-нибудь придумаю. Всем Спасибо. |
28.09.2007, 16:21 | #5 |
детский тренер
Форумчанин
Регистрация: 08.06.2007
Сообщений: 532
|
mySql у меня..Все катит...
Я злой и страФный серррый воФк, и в пАрАсятах знаю толк - ppp ppp pp p pp pp
|
28.09.2007, 16:24 | #6 |
Участник клуба
Регистрация: 07.07.2007
Сообщений: 1,518
|
Я юзаю Absolute Database. Наверно, поэтому...
|
09.02.2009, 12:40 | #7 |
Пользователь
Регистрация: 02.04.2007
Сообщений: 37
|
_SERGEYX_
ne kto ne daiot kod ili instrukcia takova vaprosu u menia toje nujna etat tema http://programmersforum.ru/showthrea...438#post197438 daiu vapros i ne koto ne otvechait. a sevodnia nashol книги Понимание SQL chitaiu i skora budu sam razbiratsa. dumaiu shto tebe toje pamojet _SERGEYX_
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Функция | ZiLi | Microsoft Office Excel | 1 | 05.09.2008 18:37 |
Hex в DateTime и обратно | yurban | Общие вопросы Delphi | 1 | 30.08.2008 09:06 |
функция | sergei64_89 | Общие вопросы C/C++ | 2 | 25.05.2008 16:48 |
DATETime | XPAiN | БД в Delphi | 12 | 15.11.2007 13:37 |
одна функция потока, а другая функция - член класса запускающего этот поток | Дмитрий_Ч | Общие вопросы C/C++ | 2 | 27.09.2007 08:50 |