Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Хитрый SELECT... [D6, IB6.x]


Savage ©   (2003-12-27 10:08:00) 

Господа, есть необходимость сделать выборку из таблицы в которой (упрощаю) есть три поля: ДАТА, ВРЕМЯ, СУММА. Надо группировать суммы по полю СУММА и время ПО ЧАСАМ, т.е. в таблице есть время 15.01, 15.07,15.25 и тд, мне надо получить результат типа: 10-11 часов - сумма 100, 11-12 часов сумма 150, как его построить?


kaif   (2003-12-27 21:05:00) [1]

Функция:
EXTRACT(HOUR FROM <поле типа TIMESTAMP или TIME>)
Правда не знаю, сработает ли группировка c EXTRACT:

SELECT ADATE, EXTRACT(HOUR FROM ATIME), SUM(AMOUNT)
FROM ATABLE
GROUP BY ADATE, EXTRACT(HOUR FROM ATIME)


kvit   (2003-12-27 10:20:00) [2]

Для IB6 я точно функций не помню, но в MS SQL это так:

select time=convert(char(8), GETDATE(), 108)

резельтат типа char(8), затем дело техники - вырезать из стоки подстроку.

Лучше сделать хранимую процедуру


Наверх

Титульная страница Поиск, карта сайта Написать письмо