![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Хитрый 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), затем дело техники - вырезать из стоки подстроку.
Лучше сделать хранимую процедуру