Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.08;
Скачать: [xml.tar.bz2];




Вниз

Про суммирование столбцов 


SklifF   (2001-12-03 19:08) [0]

Есть 3 столбца 1:часы,2:минуты,3 секунды
Как лучше сделать запрос что бы он выполнил суммирования всех трех столбцов по строчно , но с учетом того что в мин 60 сек и т.д.

Помогете пожалуйста



Dick Gonsales   (2001-12-04 04:25) [1]

SELECT
(SUM(CONVERT(NUMERIC(2,0),(f_hour)))*3600+
SUM(CONVERT(NUMERIC(2,0),(f_min)))*60+
SUM(CONVERT(NUMERIC(2,0),(f_sec)))
) as sec_time
FROM tmp_time

так ты получаешь суммарное количество секунд,
их уже приводить к привычному виду yy-mm-dd hh:mm:ss
с помощью стороней процедуры через остаток
целочисленного деления, Sybase поддерживает эти функции



unfam   (2001-12-04 04:27) [2]

Ты имеешь ввиду так:
select sum(1)*3600,sum(2)*60,sum(3) from... или нет ?



Dick Gonsales   (2001-12-04 04:51) [3]

Re unfam
Не совсем, но смысл верный
У тебя получается
всего часов в секундах, всего минут в секундах, всего секунд в секундах
это потом все равно суммировать придется для человеческого перевода
в вид
"Всего затрачено времени - "
1 год 2 месяца 20 дней 23 часа 10 минут 34 секунды
А я предлагаю сразу получать общее кол-во секунд, для сервера
это не напряг, а потом обрабатывать удобней.

Вообщем можно извратится и посчитать это все в и в SELECT,
но наворот безумный и работать будет раз во много дольше.
Таки проще написать такой SELECT и процедуру которая
превращает кол-во секунд в yy-mm-dd hh:mm:ss



unfam   (2001-12-04 09:21) [4]

>Dick Gonsales. Да, я уже посмотрел твой ответ :)



MVova   (2001-12-04 10:32) [5]

А вопрос то звучит "по строчно"



MVova   (2001-12-04 10:34) [6]

Може так больше подойдет
select 4 = (sum(1)*3600 + sum(2)*60 + sum(3)) from...



SklifF   (2001-12-04 10:54) [7]

Спасибо вам большое за подсказки




Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.08;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.043 c
1-22195           LNix                  2001-12-15 20:00  2002.01.08  
string


6-22266           PHN                   2001-10-02 14:50  2002.01.08  
Connect


1-22204           Dmitriy(new)          2001-12-13 19:37  2002.01.08  
код не создает более `273 files in win2000


14-22338          Dima-k17              2001-11-05 10:57  2002.01.08  
ОС Petros


6-22299           Leviathan             2001-10-11 21:58  2002.01.08  
Обработка ошибок TClientSocket