MySQLのGROUP BYについて
created: 2008-12-06 18:27 | modified: 2008-12-06 19:06 | reply: 1
[4258] MySQLのGROUP BYについて - volks - 2008-12-06 18:27- [4259] 自己レスです。 - volks - 2008-12-06 19:06
[4258] MySQLのGROUP BYについて
user: volks | created: 2008-12-06 18:27
お世話になります、volksです。
MySQLの話になるのですが、質問させてください。
アクセスログのランキングを表示するページを検討しているのですが、
まず、テーブル作成して、
このテーブルからトータルのランキングデータを取得するのであれば、
SELECT *, COUNT(id) as count FROM access GROUP BY url ORDER BY count DESC;
とSQLを発行すれば私の希望通りのデータを1回で取得できるのですが、
次に、このテーブルにある「user_id」カラムの値を判断して
ユニークユーザのランキングデータを取得したいとなった場合に、
どういうSQLを書けばよいのか分かりません。
全レコードを取得してから、PHPで処理するには少し負担が心配でして、
GROUP BY に条件を付け足すことで、よい方法があったりするのでしょうか?
宜しくお願い致します。
MySQLの話になるのですが、質問させてください。
アクセスログのランキングを表示するページを検討しているのですが、
まず、テーブル作成して、
create table access (
id int primary key not null auto_increment,
date timestamp,
url varchar(255),
user_id varchar(255)
) このテーブルからトータルのランキングデータを取得するのであれば、
SELECT *, COUNT(id) as count FROM access GROUP BY url ORDER BY count DESC;
とSQLを発行すれば私の希望通りのデータを1回で取得できるのですが、
次に、このテーブルにある「user_id」カラムの値を判断して
ユニークユーザのランキングデータを取得したいとなった場合に、
どういうSQLを書けばよいのか分かりません。
全レコードを取得してから、PHPで処理するには少し負担が心配でして、
GROUP BY に条件を付け足すことで、よい方法があったりするのでしょうか?
宜しくお願い致します。
