2013-04-03 5 views
0

Я отслеживаю страну посетителя на своем веб-сайте и используя этот запрос mysql, чтобы получить имена лучших посетителей.Получение% самых используемых значений строк

mysql_query("SELECT id,country, count(*) as num FROM track GROUP BY country ORDER BY count(*) desc limit 5") 

Он отлично работает. Тем не менее, я хочу получить% s стран. Как я могу это сделать ?

+0

вы имеете в виду% S = процент? – Dino

+0

Да. Я имею в виду процентные доли наиболее используемых стран. – user198989

ответ

1

Это присоединиться доложит проценты:

select id, country, num, num*100/total pct 
from (SELECT id,country, count(*) as num 
     FROM track GROUP BY country 
     ORDER BY num desc limit 5) x 
join (select count(*) total from track) y 
+0

nice sum up ... – Dominik

+0

Спасибо. Как я могу опубликовать проценты? – user198989

+0

Опубликовать их где? – Barmar

1

Вы имеете в виду процент? Вы можете выполнять некоторые основные числовые операции в MySQL - http://dev.mysql.com/doc/refman/5.0/en/numeric-functions.html

Вы можете добавить еще одно заявление, которое вызывает COUNT() всех строк, а затем использовать оператор деления, чтобы получить процент, если вы хотите сделать это в тот же запрос. Вы также можете отделить их как разные запросы.

Смежные вопросы