Форум: "Базы";
Поиск по всему сайту: 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.021 c
6-22267           wHammer               2001-09-28 15:00  2002.01.08  
Было-бы очень удобно...


3-21986           Dreamer               2001-12-06 15:43  2002.01.08  
Data Field not permitted on open DataSet


14-22341          Дремучий              2001-10-26 13:55  2002.01.08  
Соревнования программ - МОРСКОЙ БОЙ


3-21959           Николаев Констанитн   2001-12-04 20:54  2002.01.08  
Ошибка при активизации TTable???


1-22096           Mikhalyov Dmitry      2001-12-19 15:55  2002.01.08  
О TObject в событиях