|
Количество подключений за каждый день
|
|||
---|---|---|---|
#18+
Есть таблица Cn(ServerName, ConnectionType, UserName, ConnectionDate, DisconnectionDate), в которую заносятся подключения с типом ConnectionType к серверу ServerName пользователя UserName в день ConnectionDate. Когда пользователь отключается дата отключения заносится в DisconnectionDate. Не могу сообразить, как вывести таблицу по "Серверу1", в строках которой будут даты за каждый день, например марта, а в столбцах количество активных подключений на этот день, количество по типам подключения, количество по пользователям. То есть: ДатаОбщееТип1Тип2Тип3Юзер1Юзер201.03.17532231053002.03.17511812212526 И тд Запрос за один день - дело понятное, а вот в таком виде - не знаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2017, 11:25 |
|
Количество подключений за каждый день
|
|||
---|---|---|---|
#18+
Ramramm, здесь можно найти как в сообщении на форуме оформить таблицу. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2017, 11:33 |
|
Количество подключений за каждый день
|
|||
---|---|---|---|
#18+
DDL в студию! ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2017, 11:36 |
|
Количество подключений за каждый день
|
|||
---|---|---|---|
#18+
Ramramm, А что понятно за один день? Не вижу разницы - один день, не один. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2017, 11:37 |
|
Количество подключений за каждый день
|
|||
---|---|---|---|
#18+
KreatorXXIRamramm, А что понятно за один день? Не вижу разницы - один день, не один. Ему произвольное кол-во столбцов нужно в запросе. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2017, 11:54 |
|
Количество подключений за каждый день
|
|||
---|---|---|---|
#18+
rdb_dev, спасибо, но отредактировать уже не могу. Буду знать. Модератор: С этим помогу. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2017, 12:14 |
|
Количество подключений за каждый день
|
|||
---|---|---|---|
#18+
Граур Станислав, А как Вы догадались? В посте ни слова про это. На самом деле, если так, то скорее на клиенте такую таблицу легче сделать. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2017, 12:26 |
|
Количество подключений за каждый день
|
|||
---|---|---|---|
#18+
KreatorXXI,я пока могу получить очень отдаленный от нужного результат. на самом деле не критично, если таблица будет транспонирована. То есть результат, в котором столбцы и строки поменяны местами тоже норм. Я умею выводить за день как раз транспонированную и только по одному критерию: Код: plsql 1. 2. 3. 4.
Результат будет такой : Type1 20Type2 25Type3 14 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2017, 12:31 |
|
Количество подключений за каждый день
|
|||
---|---|---|---|
#18+
KreatorXXIГраур Станислав, А как Вы догадались? В посте ни слова про это. На самом деле, если так, то скорее на клиенте такую таблицу легче сделать. Да, произвольное. Количество типов и пользователей варьируется. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2017, 12:34 |
|
Количество подключений за каждый день
|
|||
---|---|---|---|
#18+
Ramramm, Тебе поможет производственный календарь. Надеюсь, у тебя есть такой в системе? Если нет, то придётся его создать, например, виртуально, процедурой. Пусть на выходе будет Calendar (cDate) Тогда примерно так: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
Ниже можешь добавить в разрезе пользователей по аналогии. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2017, 12:45 |
|
Количество подключений за каждый день
|
|||
---|---|---|---|
#18+
WildSery, спасибо. Календаря нет, ща буду курить в его направлении. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2017, 12:53 |
|
Количество подключений за каждый день
|
|||
---|---|---|---|
#18+
Ramramm, Вот здесь можно процедурку подсмотреть. Ну, либо физически в виде таблицы его создать и заполнять. Но это уже если действительно постоянно используется, для табелей, банковских дней и прочей календарной лабуды. Вот попытка охватить всё. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2017, 13:41 |
|
Количество подключений за каждый день
|
|||
---|---|---|---|
#18+
Ramramm, В вашем случае типа вот так: Код: sql 1. 2. 3. 4.
Транспонирование - отдельная проблема. Файербёрдом. боюсь, просто не решить. Если тип соединения ещё можно как-то обработать (думаю количество типов - известно и относительно мало), то с пользователями непонятно как быть. В качестве раздумий - может имеет смысл даты по горизонтали пустить. Скажем, если рассматривается месяц, то отличие только в конце месяца, уже можно уцепиться. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2017, 13:47 |
|
Количество подключений за каждый день
|
|||
---|---|---|---|
#18+
KreatorXXI, я имею ввиду, что повернутый результат меня тоже устроит. Я не буду его транспонировать и т.п. Поэтому, так как Вы предлагаете, даты по горизонтали пустить, меня тоже устраивает в виде конечного результата. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2017, 13:56 |
|
Количество подключений за каждый день
|
|||
---|---|---|---|
#18+
KreatorXXIRamramm, В вашем случае типа вот так: Код: sql 1. 2. 3. 4.
Понял, но это также на одну дату. Пока пробую с календарем. А если даты по горизонтали, то как мне получить множество столбцов? Проще ли этот вариант, чем с календарем? ибо пока я не представляю, как мне диапазон дат в SELECT засунуть. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2017, 14:02 |
|
Количество подключений за каждый день
|
|||
---|---|---|---|
#18+
WildSery, ага, спасибо, второй вариант уже гугл мне показал. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2017, 14:03 |
|
Количество подключений за каждый день
|
|||
---|---|---|---|
#18+
KreatorXXIRamramm, В вашем случае типа вот так: Код: sql 1. 2. 3. 4.
Нет, этот вариант и за одну дату выводит не то что нужно. Пользователи и типы должны быть в одном столбце(или строке) , а вот втором столбце(или строке) - количество. А тут SELECT из уже в 2 столбца выводит. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2017, 14:49 |
|
Количество подключений за каждый день
|
|||
---|---|---|---|
#18+
Ramramm, Вы меня не поняли. Для начала нужно получить количество коннектов за день по каждому типу (Допустим, не рассматриваем для начала пользователей). Мой запрос это делает. А вторым шагом нужен второй запрос, который из этого запроса правильно просуммирует нужные данные. В FB это конструкция "select ... from select ..." или можно использовать CTE. Использование в данном случае union all приведёт только к увеличению времени запроса. Грубо говоря вы будете несколько раз проходить всю таблицу только с разными фильтрами. Смысла нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2017, 15:27 |
|
Количество подключений за каждый день
|
|||
---|---|---|---|
#18+
KreatorXXI, Может, и быстрее, но это ещё не факт. Вот только SELECT ConnectionDate - неправильно. Она может быть позавчерашней. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2017, 15:54 |
|
Количество подключений за каждый день
|
|||
---|---|---|---|
#18+
WildSery, Я же привёл образец. ТС что хочет видеть в таблице? ConnectionDate? Тогда в фильтре условие типа: Код: sql 1.
Я же говорю - нет полного описания задачи. Приходиться догадываться. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2017, 16:03 |
|
Количество подключений за каждый день
|
|||
---|---|---|---|
#18+
WildSery, И, конечно, вопрос. В таблице "Дата". Что это? ConnectionDate или DisconnectionDate? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2017, 16:11 |
|
Количество подключений за каждый день
|
|||
---|---|---|---|
#18+
KreatorXXI, просто календарные даты. Например, с 01.03.17 по 30.03.17. Даты, в которых не было изменений соединений, можно отпустить, но это не обязательно. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2017, 16:13 |
|
Количество подключений за каждый день
|
|||
---|---|---|---|
#18+
Забей на SQL. Получай на клиента голые данные, а там уже сам группируй в шахматке/массиве или любых других имеющихся под рукой структурах. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2017, 16:20 |
|
Количество подключений за каждый день
|
|||
---|---|---|---|
#18+
Ramramm, Т.е. ConnectionDate. A ConnectionType что это? В отдельной таблице лежит? Или какой-то ограниченный набор? Вы бы привели кусок данных Вашей таблицы. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2017, 16:23 |
|
|
start [/forum/topic.php?fid=40&fpage=45&tid=1561580]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
3ms |
track hit: |
134ms |
get topic data: |
16ms |
get forum data: |
2ms |
get page messages: |
85ms |
get tp. blocked users: |
1ms |
others: | 334ms |
total: | 597ms |
0 / 0 |