使用group by的Mysql Join查询

时间:2009-08-25 23:52:29

标签: mysql join group-by

我正在尝试编写一个将返回的查询...

  1. 访问日志表中的每个不同用户ID。

  2. 每个用户ID访问该站点的不同IP地址的数量,也来自accesslog表。

  3. 用户表中的用户ID名称,电子邮件地址和公司名称。

  4. 我有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
    

    我如何JOIN在我想要的其他数据中?

1 个答案:

答案 0 :(得分:4)

您需要加入users表并将其所有列添加到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