У меня есть две таблицы
Пользователь
id_user|INT
company | varchar
и
Вход
log_id|int
id_user|int
Мне нужно вернуть компанию, общее количество пользователей на компанию и процент пользователей, у которых есть по крайней мере 3 журнала
Я могу выполнить этот запрос, чтобы получить компанию и подсчитать
select company, count (*) as 'Count'
from user
group by company
, который возвращает это
Apple| 7
Google| 6
Но у меня возникают проблемы с выяснением того, как затем вернуть дополнительный столбец, в котором отображается процент пользователей, у которых есть как минимум 3 журнала. Например,
Если бы у 2 пользователей было более 3 журналов от Apple, и у одного пользователя от Google было более 3 журналов, ответ был бы следующим:
Apple| 7| 29% (because 2/7=~29%)
Google| 6| 17% (because 1/7=~17%)
Я полагал, что для этого требуется использовать функцию windows или какой-то тип коррелированного подзапроса, но у меня возникают проблемы с получением точного процента.
Любая помощь будет принята с благодарностью. (с использованием SQL Server 2008)