微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

count(distinct request_ip) 按日期分组

如何解决count(distinct request_ip) 按日期分组

我有以下 sql,我将其用于存储在带有 AWS Athena 的 S3 中的 AWS ELB 日志。

SELECT count(distinct request_ip) AS
 count,request_ip,DATE(from_iso8601_timestamp(timestamp)) AS date
FROM "default"."aws_elb_logs"
WHERE request_ip = '10.0.2.1'
GROUP BY request_ip,DATE(from_iso8601_timestamp(timestamp))

当我运行查询时,我得到

request_ip  total   date
1   10.0.2.1    1   2020-12-24
2   10.0.2.1    1   2020-12-25

我如何计算 IP 总数并按日期对特定 IP 进行分组?

非常感谢任何建议

解决方法

试试这个脚本。

SELECT count(request_ip) AS count,DATE(from_iso8601_timestamp(timestamp)) AS date
FROM "default"."aws_elb_logs"
WHERE request_ip = '10.0.2.1'
GROUP BY DATE(from_iso8601_timestamp(timestamp))
,

通过更改时间戳并执行此查询来尝试此查询

雅典娜查询:

 SELECT distinct request_ip,count() as count from elb_logs
 WHERE parse_datetime(timestamp,'yyyy-MM-dd''T''HH:mm:ss.SSSSSS''Z') 
 BETWEEN parse_datetime('2020-12-24-00:00:00','yyyy-MM-dd-HH:mm:ss')AND parse_datetime('2020-12-25-12:00:00','yyyy-MM-dd-HH:mm:ss')GROUP by request_ip
 ORDER by count() DESC;

这将提供 request_Ip 的总和以及对 lb 的点击次数

输出例如:

   request_ip     count    
1   10.0.2.1        5    
2   10.0.2.1        10    

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。