我在我的网站上跟踪访问者国家/地区,并使用此 mysql 查询来获取顶级访问者国家/地区名称。
mysql_query("SELECT id,country, count(*) as num FROM track GROUP BY country ORDER BY count(*) desc limit 5")
它完美地工作。但是,我想获得 %s 的国家/地区。我怎样才能做到这一点 ?
你是说百分比吗?您可以在 MySQL 中执行一些基本的数值运算 - http://dev.mysql.com/doc/refman/5.0/en/numeric-functions.html
如果您希望在同一个查询中执行此操作,您可以添加另一个调用所有行的 COUNT() 的语句,然后使用除法运算符来获取百分比。您还可以将两者分开为不同的查询。
此联接将报告百分比:
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