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

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

Группировка по временным интервалам... [D6, dBase, FoxPro]


Alex_1234 ©   (2006-02-02 13:58:00) 

Дано: таблица tabl1.
tims numeric(4,0), kod numeric(6,0)
в ней лежат коды товаров и время формирования заказа ( время в формате чч*100+мм).
Надо получить следующее:

Интервал     колво заказов
900-930       7
931-1000     5
1001-1030   12
1031-1100   20

Возможно-ли это получить ОДНИМ запросом?


Johnmen   (2006-02-02 14:43:00) [1]

Что в лоб, что по лбу...:)
Разве что границы должны входить.


Johnmen   (2006-02-02 14:42:00) [2]

Типа того:
SELECT interval.ID, COUNT(*)
FROM interval
JOIN tabl1 ON tabl1.tims BETWEEN interval.t_begin AND interval.t_end
GROUP BY interval.ID


Sergey13   (2006-02-02 14:37:00) [3]

>Получим таблицу interval:
>t_begin num(4,0), t_end num(4,0) c содержимым:
t_id, t_begin num(4,0), t_end num(4,0) c содержимым:

select p.t_id,count(t.tims)
from period p, tabl1 t
where t.tims>p.t_begin and t.tims<=p.t_end
group by p.t_id


Примерно так.


Alex_1234   (2006-02-02 14:29:00) [4]

Sergey13, по подробней, плиз.
Получим таблицу interval:
t_begin num(4,0), t_end num(4,0) c содержимым:

t_begin     t_end
800          830
831          900
901          930
931          1000
......


а дальше как?


Sergey13   (2006-02-02 14:14:00) [5]

Можно попробовать создать табличку с периодами, соединить с исходной и по периду сгруппировать.


Alex_1234   (2006-02-02 14:07:00) [6]

C 8 (или 9) утра до 22 (24) по полчаса.....

Просто неохота в цикле заполнять Series у Chart`а.....


Johnmen   (2006-02-02 14:04:00) [7]

Как определены границы интервалов?


Наверх

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