2009-08-25 13 views
0

でグループを使用してクエリに参加しMySQLは...私が返すクエリを記述しようとしている

  1. アクセスログテーブル内の各個別のユーザID。

  2. 各ユーザーIDがサイトにアクセスしたIPアドレスの数、またアクセスログ表からの数。

  3. usersテーブルからのそのユーザーIDの名前、電子メールアドレス、および会社名。

私は1と2がありますが、私は3を得る方法がわかりません。私は結合で吸う、と認めます。 :(

は、ここで私が今持っているクエリです:?

SELECT DISTINCT userid, COUNT(ipaddress) AS c FROM accesslog WHERE url LIKE 'www.example.com%' and userid != '' GROUP BY userid ORDER BY c desc 

どのように私はあなたがusersテーブルに参加して、すべてを追加する必要があります

+0

ああCRする@ P ...ちょうど私のユーザーテーブルとアクセスログテーブルが異なるデータベースにあることを思い出し、私はルートmysqlの私たちへのアクセスを持っていませんエル。だから、私はこの後もこの質問をすることはできません。: – Ian

答えて

4

をしたいデータの他の部分でJOINだろうGROUP BYにその列:

SELECT a.userid, u.name, u.email, u.company, COUNT(a.ipaddress) AS c 
    FROM accesslog a, USERS u 
WHERE a.userid = u.userid 
    AND a.url LIKE 'www.example.com%' 
    AND a.userid != '' 
GROUP BY a.userid 
ORDER BY c desc 
+1

私はあなたが 'グループ'として 'DISTINCT'を必要としているとは思わないが、そのことを気にしてください。 – BoltBait

+0

答えがありがとう。 – Ian

+0

@BoltBait - あなたは正しい;私はちょうどIanのクエリをコピー/編集して、それを削除するのを忘れてしまった。編集するだろう。 – ChssPly76

関連する問題