あるフィールドのユニーク数(種類数)を出す方法

たとえば、アクセス解析で、全てのアクセスのログがあり、そのログから、
各ページのユニークユーザ数とPV数を出したい場合があります。

各ページごとのPV数は以下のクエリで取得できますが、UU数が取得できません。

SELECT page, COUNT(*) pv_count FROM access_log GROUP BY page;

そこで登場するのが DISTINCT文です。
これにより重複行を削除することができます。
以下のようにすればUU数が取得できます。

SELECT page, COUNT(DISTINCT(ip)) uu_count, COUNT(*) pv_count FROM access_log GROUP BY page;

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>