原题链接:http://practice.atguigu.cn/#/question/22/desc?qType=SQL
题目需求
从登录明细表(user_login_detail)中查询在相同时刻,多地登陆(ip_address不同)的用户
期望结果如下:
user_id(用户id) |
---|
101 |
102 |
104 |
107 |
需要用到的表:
用户登录明细表:user_login_detail
user_id(用户id) | ip_address(ip地址) | login_ts(登录时间) | logout_ts(登出时间) |
---|---|---|---|
101 | 180.149.130.161 | 2021-09-21 08:00:00 | 2021-09-27 08:30:00 |
102 | 120.245.11.2 | 2021-09-22 09:00:00 | 2021-09-27 09:30:00 |
103 | 27.184.97.3 | 2021-09-23 10:00:00 | 2021-09-27 10:30:00 |
解题思路
SELECT user_id
FROM
(
SELECT user_id
FROM user_login_detail
GROUP BY user_id,
date(login_ts)
HAVING COUNT(DISTINCT ip_address) > 1
) t1
GROUP BY user_id