ниже У меня есть запрос, который получит наиболее распространенные пользовательские агенты для сайта из таблицы пользовательских агентов и связанной таблицы IP-адресов:
SELECT count(*) as num, string FROM `useragent_ip`
left join useragents on useragent_id = useragents.id
group by useragent_id
having num > 2
order by num desc, string
Иногда это покажет мне что-то вроде
25 Firefox
22 IE
11 Chrome
3 Safari
1 Spider 1
1 Spider 2
1 Spider 3
У меня вопрос: есть ли способ, поскольку числа слева представляют проценты от целого и будут расти со временем, могу ли я иметь часть выражения sql для отображения процента каждой группы от целого? Так что вместо использования having num > 2
тогда я мог бы сделать что-то, что скажет: получить процент от общего количества строк, а не только количество строк?