требуется помощь по минимизации SQL запроса
Написал запрос количество людей конкретной организации прошедших через проходную за 1 день по двум интервалам времени.
Нужно сделать по каждому числу месяца по этим интервалам. Что можно придумать, чтобы не перечислять каждое число месяца? [SRC sql]SET ANSI_NULLS OFF declare @d1 as DATETIME ; declare @d2 as DATETIME ; declare @d3 as DATETIME ; declare @d4 as DATETIME ; select @d1 = '2013-10-01 04:00' -- начало утра select @d2 = '2013-10-01 09:00' -- конец утра select @d3 = '2013-10-01 16:00' -- начало вечера select @d4 = '2013-10-01 20:30' -- конец вечера Select Count(*) from pLogData Where HozOrgan in (select Distinct ID from pList where section LIKE '60') and TimeVal < @d2 AND TimeVal > @d1 and Event=32 and Mode = 1 Select Count(*) from pLogData Where HozOrgan in (select Distinct ID from pList where section LIKE '60') and TimeVal < @d4 AND TimeVal > @d3 and Event=32 and Mode = 1[/SRC] |
Цитата:
1-вый выводит список дат 2-рой по этой дате количество людей в сумме получится табличка вида <дата><количество> |
Цитата:
Select Count(*) from pLogData Where HozOrgan in (select Distinct ID from pList where section LIKE '60') and TimeVal < @d2 AND TimeVal > @d1 and Event=32 and Mode = 1 типа такого баяна Select Count(*) from pLogData where TimeVal < @d2 AND TimeVal > @d1 and Event=32 and Mode = 1 group by HozOrgan.ID having section LIKE '60' Не видя DDL профтыкал по наитию. |
Часовой пояс GMT +3, время: 21:28. |