我有两个表:users和user_visits。
例如,我将获得user_id和0访问过的用户的名称,其中日期> ' 2014年5月6日'和日期< ' 2014年5月11日'
USERS TABLE USERS_VISITS TABLE
USER_ID | NAME USERS_VISIT_ID | USER_ID | DATE
1 | John 1 | 1 | 2014-05-07
2 | Mark 2 | 1 | 2014-05-08
3 | Mike 3 | 4 | 2014-05-10
4 | Steven
结果必须是:
USER_ID | NAME | COUNT(*) |
2 | Mark | 0 |
3 | Mike | 0 |
我的查询是:
SELECT COUNT(uv.user_id) AS count_visited,
FROM users u
LEFT JOIN users_visited uv ON (u.user_id=uv.user_id)
WHERE uv.date >= '2014-05-06'
AND uv.date <= '22014-05-11'
GROUP BY u.user_id
HAVING count_visited = 0;
答案 0 :(得分:0)
这是使用左连接
的方法select
u.user_id,
u.name
from user u
left join user_visits uv on uv.user_id = u.user_id
AND uv.date >= '2014-05-06'
AND uv.date <= '22014-05-11'
where uv.user_id is NULL