首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用两个 group by 和一个 select 语句

查询指定日期范围内的用户登录次数,并返回每个用户的唯一标识符、用户名、IP地址、地理位置、登录时间等信息。

代码语言:sql
复制
SELECT 
    distinct user_id, username, ip_address, location, login_time 
FROM 
    user_login_history 
WHERE 
    login_time >= '2022-01-01' 
    AND login_time <= '2022-12-31' 
    AND ip_address NOT IN ('127.0.0.1', '10.0.0.1', '192.168.1.1') 
GROUP BY 
    user_id, username, ip_address, location 
ORDER BY 
    login_time DESC;

这个查询语句使用了 GROUP BYSELECT 语句,将用户登录记录按照用户唯一标识符、用户名、IP地址和地理位置进行分组,以 login_time 字段作为排序依据,将同一用户在不同时间段的登录记录进行汇总,最终返回每个用户的唯一标识符、用户名、IP地址、地理位置和登录时间等信息。其中,WHERE 子句用于过滤掉一些无效的IP地址,NOT IN 关键字用于排除一些特定的IP地址,以避免重复统计。

需要注意的是,这个查询语句中的 user_login_history 表应该是一个有足够记录的用户登录日志表,并且表中应该包含 user_idusernameip_addresslocationlogin_time 这些字段,以便进行分组统计。如果表结构不同,需要根据实际情况进行修改。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券