powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / COUNT()
3 сообщений из 3, страница 1 из 1
COUNT()
    #39954784
voodoos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здрасьте!

Сразу по сути. Есть сайт, есть БД. В БД записываются все сессии и все запросы. Для этого в БД есть две таблицы — Session и Request. У таблицы Session есть поля RequestFirst и RequestLast, в которых храняться ссылки (айдишники) на записи в табличке Request. В табличке Request есть поле Data (datetime). В табличке Session этой информации нет, т.е., например, чтобы получить время старта сессии, необходжимо ее получать по полю Data из таблицы Request, айдишник которой хранится в табличке Session в поле RequestFirst.

Появилась задача показать активные сессии за какую-то дату, с 00:00 по 23:59:59.999, и даже те сессии, которые начались ранее 00:00, но у корорых есть запросы в этот день. эта задача была решена. Но появилась проблема, когда стали группировать по IP, чтобы получить уникальные сессии. Вот запрос:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
DECLARE @Date date
SET @Date = '2020-04-29'

DECLARE @From datetime, @To datetime

SET @To = @Date
SET @From = DATEADD(millisecond, -2, @To)
SET @To = DATEADD(day, 1, @To)

SELECT COUNT(S.[IP]) FROM [Session] AS S
	JOIN [Request] AS [F] ON F.[Id] = S.[RequestFirst]
	JOIN [Request] AS [L] ON L.[Id] = S.[RequestLast]
WHERE L.[Date] > @From AND F.[Date] < @To
GROUP BY [IP]



Проблема в том, что в итоге получается не скалярное значение, в виде числа, а множество записей равных количеству уникальных IP с числами отображающими сколько по IP было создано в этот день сессий. А мне нужно получить скалярное значение количества уникальных IP. Не могу сообразить как это сделать.

Памагите пажалуста, а?
...
Рейтинг: 0 / 0
COUNT()
    #39954787
msLex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
voodoos,

count(distinct ...)
...
Рейтинг: 0 / 0
COUNT()
    #39954838
voodoos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
msLex
voodoos,

count(distinct ...)


Будем завтра пробовать, бо сегодня уже это не так важно )))))

Спасибо! :)

П.С. 7 лет не программил, шяс приходится все вспоминать…
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / COUNT()
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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