gpt4 book ai didi

带时间范围的 SQL SELECT

转载 作者:行者123 更新时间:2023-12-01 13:54:42 24 4
gpt4 key购买 nike

我在下面的 click_log 表中记录了一些 url 的点击情况

site    ip    ua    direction   hit_time
-----------------------------------------------------
1 127.0.0.1 1 20010/01/01 00:00:00

2 127.0.0.1 1 20010/01/01 00:01:00

3 127.0.0.1 0 20010/01/01 00:10:00

.... .........

我想选择传入的点击(方向:1)并按以下网站分组:

  • 来自相同的 ip 和浏览器
  • 彼此在 10 分钟内登录
  • 在 10 分钟内出现超过 4 次。

我不确定上面是否足够清楚。英语不是我的母语。让我试着用一个例子来解释。

如果站点 1 在从该 ip 和浏览器获得第一个唯一点击后的 10 分钟内从同一 ip 和浏览器获得 5 次点击,我希望它包含在选择中。

基本上我是在寻找施虐者。

最佳答案

我认为这可以满足您的需求。我也包含了一些示例数据。

Create Table #t
(
[Site] int,
IP varchar(20),
Direction int,
Hit_Time datetime
)

Insert Into #t
Values (1,'127.0.0.1',1,'2010-01-01 00:00:00')

Insert Into #t
Values (1,'127.0.0.1',1,'2010-01-01 00:01:00')

Insert Into #t
Values (1,'127.0.0.1',1,'2010-01-01 00:03:00')

Insert Into #t
Values (1,'127.0.0.1',1,'2010-01-01 00:04:00')


Insert Into #t
Values (2,'127.0.0.2',1,'2010-01-01 00:00:00')

Insert Into #t
Values (2,'127.0.0.2',1,'2010-01-01 00:01:00')

Insert Into #t
Values (2,'127.0.0.2',0,'2010-01-01 00:03:00')

Insert Into #t
Values (2,'127.0.0.2',1,'2010-01-01 00:04:00')


Select Distinct Site
From #t
Where Direction = 1
Group by Site, IP
Having (DateDiff(minute,Min(HIt_Time), max(hit_time)) <= 10) And Count(*) >= 4

Drop Table #t

关于带时间范围的 SQL SELECT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2801220/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com