Изменить ячейки таблицы в SQL, но как? - PullRequest
0 голосов
/ 05 мая 2009

Мне нужен Sql-запрос. Преобразование таблицы 1 в таблицу 2

select Count(Page) as VisitingCount,CONVERT(VARCHAR(5),Date, 108) as [Time] from scr_SecuristLog     
where Date between '2009-04-30' and '2009-05-02'    
and [user] in(select USERNAME               
    from scr_CustomerAuthorities where customerID=Convert(varchar,4) and ID=Convert(varchar,43) )    
group by CONVERT(VARCHAR(5),Date, 108) order by CONVERT(VARCHAR(5),Date, 108) asc 



Table1

VisitingCount Дата
1 ------------------- 15: 09
3 ------------------- 15: 10
7 ------------------- 15: 15
1 ------------------- 15: 39
2 ------------------- 15: 40
3 ------------------- 15: 47



Как я могу изменить эту таблицу под таблицей



Table2

VisitingCount Дата
11 ------------------- 15: 00-15: 30
6 ------------------- 15: 30-16: 00

Ответы [ 2 ]

1 голос
/ 05 мая 2009

Используйте инструкцию case для создания категории, а затем сосчитайте по этой категории.

Для (упрощенного) примера.

select case when Date < '15:30' then '15:00 - 15:30'
            when Date < '16:00' then '15:30 - 16:00'
            else 'After 16:00' end as category
into #temp1
from Table1

select count(*) as VistingCount, category as Date
from #temp1
group by category
0 голосов
/ 05 мая 2009

Смотрите мой пост в этой другой теме - Если оператор SQL

Вы можете использовать таблицу, которая определяет границы, по которым вы хотите рассчитывать каждый отсчет. Например. у вас будет такое определение: «15: 01», «15: 30», «15: 00 - 15:30»). Затем вы просто присоединяете свою таблицу данных к этой таблице границ и включаете временной интервал в свой GROUP BY (как показано в другом потоке).

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