私は自分のウェブサイトで訪問者の国を追跡し、この 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