我有这样的db结构:
id ip status time
----------------------------------------
1 1.1.1.1 1 2016-11-11 21:37:04
2 8.8.8.8 1 2016-11-11 22:37:04
3 1.1.1.1 1 2016-11-11 21:38:04
4 8.8.8.8 0 2016-11-11 22:38:04
5 1.1.1.1 1 2016-11-11 21:39:04
6 8.8.8.8 0 2016-11-11 21:39:04
7 1.1.1.1 1 2016-11-11 21:40:04
8 8.8.8.8 1 2016-11-11 21:40:04
9 1.1.1.1 1 2016-11-11 21:41:04
10 8.8.8.8 1 2016-11-11 21:41:04
11 1.1.1.1 1 2016-11-11 21:42:04
12 8.8.8.8 0 2016-11-11 21:42:04
13 1.1.1.1 1 2016-11-11 21:43:04
14 8.8.8.8 1 2016-11-11 21:43:04状态为0且相差1分钟的记录如何统计?他们一定是在追逐对方。
换句话说,如果我们有任何数量的记录具有相同的ip,彼此状态为0,并且时间戳相差1分钟或更长,则将其添加到count。
结果会是这样的:
ip time count
------------------------------------
8.8.8.8 2016-11-11 22:38:04 1使用以下答案之一进行测试的Sql Fiddle:
http://www.sqlfiddle.com/#!2/b88d5d/1
谢谢。
发布于 2016-11-12 17:27:36
select ip,dt,count(id)as cnt from ip_check where TIMESTAMPDIFF(分钟,dt,NOW()) >1且status =0按ip分组
https://stackoverflow.com/questions/40560252
复制相似问题