Mysql присоединиться к запросу с помощью группы по - PullRequest
0 голосов
/ 26 августа 2009

Я пытаюсь написать запрос, который вернет ...

  1. Каждый отдельный идентификатор пользователя в таблице доступа.

  2. Подсчет количества различных IP-адресов, с которыми каждый идентификатор пользователя получил доступ к сайту, также из таблицы accesslog.

  3. Имя пользователя, адрес электронной почты и название компании из таблицы пользователей.

У меня есть 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 Ответ

4 голосов
/ 26 августа 2009

Вам нужно присоединиться к таблице 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
...