Я работаю в среде call-центра здравоохранения. У меня есть доступ к базе данных нашей основной системы, и я хочу использовать данные в ней, чтобы определить количество сотрудников, зарегистрированных в каждый час данных за определенный период, которые могут увеличиваться в течение 24 часов (например, 24/12/2014 - 26/12/2014).SQL max одновременных сеансов в час дня
Существует userlog таблица, которая записывает, когда пользователи входят в систему и выходят из системы.
userlog таблица Пример
UserRef Date LogType SessionID
--------------------------------------- ----------------------- ------ -----------------------
96AD647C-D061-43F5-9F8D-FA6C74817E07 2002-10-17 14:11:25.763 LOGON 8D451569-0260-46BB-9B9E-F49B3E778161
96AD647C-D061-43F5-9F8D-FA6C74817E07 2002-10-17 18:11:32.547 LOGOFF 8D451569-0260-46BB-9B9E-F49B3E778161
60738820-5F72-4E20-A070-57E07C83B6DE 2002-10-17 14:53:31.153 LOGON C773894C-8B2D-4054-A550-3F04B4C5669F
60738820-5F72-4E20-A070-57E07C83B6DE 2002-10-17 22:55:25.607 LOGOFF C773894C-8B2D-4054-A550-3F04B4C5669F
90A55FDD-967E-4D99-96DF-96840CDB2CDF 2002-10-17 15:26:40.123 LOGON 1CE5F5A5-4E20-4D4A-BB67-EB0CB33976D7
96AD647C-D061-43F5-9F8D-FA6C74817E07 2002-10-17 15:51:28.590 LOGON 7EFDEE1C-15CF-4DE1-B59F-7AFC49B4BE73
90A55FDD-967E-4D99-96DF-96840CDB2CDF 2002-10-17 15:58:05.217 LOGOFF 1CE5F5A5-4E20-4D4A-BB67-EB0CB33976D7
96AD647C-D061-43F5-9F8D-FA6C74817E07 2002-10-17 15:58:31.013 LOGOFF 7EFDEE1C-15CF-4DE1-B59F-7AFC49B4BE73
90A55FDD-967E-4D99-96DF-96840CDB2CDF 2002-10-17 15:58:32.733 LOGON 03F56AB8-FED5-4CC7-8445-26BF55F58E60
90A55FDD-967E-4D99-96DF-96840CDB2CDF 2002-10-17 16:13:02.827 LOGOFF 03F56AB8-FED5-4CC7-8445-26BF55F58E60
Желаемые результаты(это не предназначено, чтобы отразить вышеуказанные данные примера):
Date Hour Number of users logged in
---- ---- -------------------------
01/12/2014 0 0
01/12/2014 1 0
01/12/2014 2 0
01/12/2014 3 0
01/12/2014 4 0
01/12/2014 5 1
01/12/2014 6 1
01/12/2014 7 1
01/12/2014 8 3
01/12/2014 9 7
01/12/2014 10 7
...
01/12/2014 23 0
быть ясным: I» m, пытаясь получить час, чтобы по-прежнему отображаться с подсчетом 0, когда пользователей не было зарегистрировано.
Я предполагаю, что то, что я ищу, - это максимальные параллельные сеансы для каждого часа дня, но я не слишком технический или квалифицированный в SQL (понемногу получается, хотя!), Поэтому я надеюсь, что эта терминология не путает вещи!
Я искал это для поиска и нашел несколько подобных сценариев, но для Oracle и MySQL, или где таблица журналов записывает данные входа по-разному. Я уверен, что я доберусь до точки, где я могу успешно перевести другой код запроса базы данных на MS SQL, но я еще нет!
Я использую: Microsoft SQL Server 2005 - 9.00.1399.06 (Intel X86).
Заранее за вашу помощь.
вы передать диапазон даты/даты в запросе, чтобы указать, что я хочу результаты этого конкретного диапазона дат/дат? также, делитесь своими попытками. –
@DeepakPawar Да, я это сделаю. Я не получил нигде с попытками, кроме как получить его в таблицу с заголовками столбцов идентификатора сеанса, датой входа в систему, датой выхода из системы. Я не знал, куда идти оттуда. К сожалению :( – jjswin