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