Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Объединение запросов по столбцам... / 9 сообщений из 9, страница 1 из 1
29.06.2018, 11:10
    #39667536
Mazay2142
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объединение запросов по столбцам...
Хорошей пятницы,

подскажите пожалуйста, как реализовать следующую задачку:
Есть пользователи, которые входят и выходят на сайт, собирается статистика, кто с какими правами доступа вошёл.
Есть уже созданный запрос, который группирует, сколько зашло за день и с какими правами вида:

(Права) (Кол-во заходов)
Администраторов 4
Супер-Пользователей 15
Пользователей 90

Как разбить эти данные по часам (с 0 до 23), например

(Права) (0.00-0.59) (1.00-1.59) (2.00-2.59) (3.00-3.59) и тд.
Администраторов 3 0 0 1 ...
Супер-пользователей 10 5 0 0
Пользователей 30 30 10 20

Чрезмерно благодарен буду, если подскажете, как такое реализовать?
...
Рейтинг: 0 / 0
29.06.2018, 11:13
    #39667543
iap
iap
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объединение запросов по столбцам...
Mazay2142, в колонках
Код: sql
1.
SUM(CASE WHEN ... THEN ... ELSE 0 END)

где условие WHEN задаёт время для колонки.
...
Рейтинг: 0 / 0
29.06.2018, 11:14
    #39667544
iap
iap
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объединение запросов по столбцам...
iapMazay2142, в колонках
Код: sql
1.
SUM(CASE WHEN ... THEN ... ELSE 0 END)


где условие WHEN задаёт время для колонки.Если речь просто о количестве, то
Код: sql
1.
SUM(CASE WHEN ... THEN 1 ELSE 0 END)
...
Рейтинг: 0 / 0
29.06.2018, 11:20
    #39667546
Mazay2142
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объединение запросов по столбцам...
Изначальный код (возможно тоже корявый, но работает. Показывает, сколько за сутки с какими правами было входов

SELECT [Группы прав], COUNT(*)

FROM [TABLE].[SESSION]
where [Старт сессии] between '2018-06-28 0:00:00.000' and '2018-06-28 23:59:59.999'



GROUP BY [Группы прав] ORDER BY [Группы прав];
...
Рейтинг: 0 / 0
29.06.2018, 11:20
    #39667547
Mazay2142
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объединение запросов по столбцам...
Изначальный код (возможно тоже корявый, но работает. Показывает, сколько за сутки с какими правами было входов

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
SELECT [Группы прав], COUNT(*)

FROM [TABLE].[SESSION] 
where [Старт сессии] between '2018-06-28 0:00:00.000' and '2018-06-28 23:59:59.999'



GROUP BY [Группы прав] ORDER BY [Группы прав];
...
Рейтинг: 0 / 0
29.06.2018, 11:29
    #39667552
Mazay2142
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объединение запросов по столбцам...
iapiapMazay2142, в колонках
Код: sql
1.
SUM(CASE WHEN ... THEN ... ELSE 0 END)


где условие WHEN задаёт время для колонки.Если речь просто о количестве, то
Код: sql
1.
SUM(CASE WHEN ... THEN 1 ELSE 0 END)



А не подскажите, с моими данными новыми, как реализовать?
...
Рейтинг: 0 / 0
29.06.2018, 13:55
    #39667632
Kopelly
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объединение запросов по столбцам...
Код: sql
1.
2.
3.
Select [Группы прав], [0],[1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12],[13],[14],[15],[16],[17],[18],[19],[20],[21],[22],[23]
From (Select [Группы прав], datepart(hh,[Старт сессии]) as ЧасВхода From TABLE].[SESSION]) a
Pivot (Count(*) for ЧасВхода in [0],[1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12],[13],[14],[15],[16],[17],[18],[19],[20],[21],[22],[23]) as p
...
Рейтинг: 0 / 0
03.07.2018, 12:44
    #39668742
Mazay2142
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объединение запросов по столбцам...
Kopelly
Код: sql
1.
2.
3.
Select [Группы прав], [0],[1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12],[13],[14],[15],[16],[17],[18],[19],[20],[21],[22],[23]
From (Select [Группы прав], datepart(hh,[Старт сессии]) as ЧасВхода From TABLE].[SESSION]) a
Pivot (Count(*) for ЧасВхода in [0],[1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12],[13],[14],[15],[16],[17],[18],[19],[20],[21],[22],[23]) as p



Пишет, неправильный синтаксис рядом с * в Count(*)
...
Рейтинг: 0 / 0
03.07.2018, 12:46
    #39668744
Mazay2142
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объединение запросов по столбцам...
Kopelly
Код: sql
1.
2.
3.
Select [Группы прав], [0],[1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12],[13],[14],[15],[16],[17],[18],[19],[20],[21],[22],[23]
From (Select [Группы прав], datepart(hh,[Старт сессии]) as ЧасВхода From TABLE].[SESSION]) a
Pivot (Count(*) for ЧасВхода in [0],[1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12],[13],[14],[15],[16],[17],[18],[19],[20],[21],[22],[23]) as p



и что здесь значит "а" (...SESSION]) a)??
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Объединение запросов по столбцам... / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]