![]() |
Модераторы: skyboy |
![]() ![]() ![]() |
|
hello19 |
|
||||||
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 13.7.2011 Репутация: нет Всего: нет |
Привет всем!
Мне нужно рассчитать распределение количества пользователей за определенный промежуток времени для каждого сайта. Написал запрос для определения того, какой пользователь на какой ресурс заходил за определенный временной промежуток. Полученный результат выглядит как-то так:
Осталось из этого достать распределение по частоте и отобразить его в таком вот виде:
Частоту хочу задавать не конкретным числом, а интервалом и держать его в табличке:
Помогите разобраться как сделать так, чтобы результат отображался "в строчку" и при этом не приходилось бы сильно менять код, в случае если понадобятся другие интервалы... |
||||||
|
|||||||
Zloxa |
|
|||
![]() Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 53 Всего: 161 |
Это не про SQL. Основная парадигма стуктуированного языка запросов - структура результата не зависит от состава данных. Но суровые реалии жизни таки иногда заставляют транспонировать. Обычно это делают с помощью: 1) Внешних средств - формиуют на клиенте или подключают какую нить BI 2) Динамическим построением запроса, т.е. текст запроса формируется программно непосредственно перед выполнением, на основе каких -то данных. 3) Некоторые диалекты уже предоставляют готовые сопелки. К примеру Акцесс. Постгр вроде тоже может. Оракл, МС, My - нет -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка ![]() |
|||
|
||||
hello19 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 13.7.2011 Репутация: нет Всего: нет |
Почему нельзя средствами SQL? Вот есть же PIVOT, например... только не знаю как там уйти от того, чтобы вручную вписывать названия стобцов.
|
|||
|
||||
Zloxa |
|
|||
![]() Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 53 Всего: 161 |
Динамически формируя текст запроса. Потому что основная парадигма SQL - структура результата не зависит от состава данных. ![]() Добавлено через 25 секунд он есть не везде. Озвучте уже платформу чтоли -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка ![]() |
|||
|
||||
hello19 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 13.7.2011 Репутация: нет Всего: нет |
||||
|
||||
Zloxa |
|
|||
![]() Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 53 Всего: 161 |
Для этого прийдется использовать какой-то процедурный язык. Похапэ там, делфи, сишарп, pl/sql и прпр - на чем вы там пишите. Обычно при составлении динамическом формировании текста запроса очень активно используют конкатенацию ![]() Это сообщение отредактировал(а) Zloxa - 11.9.2014, 21:25 -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка ![]() |
|||
|
||||
hello19 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 13.7.2011 Репутация: нет Всего: нет |
Я пишу запрос на sql..
Гугл что-то выдает на запрос "sql вывод строк столбцами", разбираюсь. Правда пока безрезультатно. И не нужно вкапываться так.. |
|||
|
||||
Zloxa |
|
|||
![]() Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 53 Всего: 161 |
1) Язык sql насчитвает сто пяццот диалектов. В нектоторых можно динамически транспонировать, в большинстве нет - Для какой платформы вы пишите - Оракл, МS SQL, Interbase? 2) Для того, чтобы динамически сформировать SQL запрос, вероятнее всего прийдется использовать какой-то иттеративный язык прогаммирования. Можно сформировать текст SQL запроса и средствами SQL, но это, как правило - просто извращение Это сообщение отредактировал(а) Zloxa - 11.9.2014, 21:38 -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка ![]() |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 45 Всего: 454 |
Хотя большинство диалектов предоставляют средства выполнения текста запроса из литерала/переменной... lamer-friendly interface... -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
Zloxa |
|
||||
![]() Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 53 Всего: 161 |
Большинство диалектов имеют процедурные расширения, средствами которых можно и сформировать и исполнить sql. -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка ![]() |
||||
|
|||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Составление SQL-запросов | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |