TSQL поможет рассчитать процент - PullRequest
1 голос
/ 04 января 2012

Интересно, как это сделать с переменной:

SELECT  Count(distinct UserIP) 
FROM VisitorIP 
G0

SELECT Country, Count(distinct UserIP) Visitors, Count(distinct UserIP) * 100 / 2865 Pct 
FROM VisitorIP group by country order by Visitors desc

Теперь я хочу заменить 2865 на количество (отличный UserIP) выше.

Существует поговорка: в ИТ лучше тот, кто знает, чем 10, кто ищет!

Любая подсказка приветствуется ... С Новым Годом всех гиков там.

Ответы [ 2 ]

3 голосов
/ 04 января 2012

Использование переменной:

DECLARE @userip_count int

SELECT @userip_count = Count(distinct UserIP) 
FROM VisitorIP 

SELECT Country, Count(distinct UserIP) Visitors, Count(distinct UserIP) * 100 / @userip_count Pct 
FROM VisitorIP group by country order by Visitors desc
GO

Перемещение GO здесь необходимо, чтобы переменная оставалась в области видимости для использования во втором запросе.

0 голосов
/ 04 января 2012
SELECT Country, 
Count(distinct UserIP) Visitors, 
round(Count(distinct UserIP) / 
              (SELECT  Count(distinct UserIP) 
              FROM VisitorIP) * 100,2) Pct 
FROM VisitorIP 
group by country 
order by Visitors desc
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...