当前位置: 代码迷 >> Sql Server >> 用sql查询如下要求的数据怎么写代码
  详细解决方案

用sql查询如下要求的数据怎么写代码

热度:30   发布时间:2016-04-27 14:30:20.0
用sql查询如下要求的数据如何写代码
有如下数据,C列为时间单位为秒,现想找出相差三秒中内A中同个数据出现三次的记录数。可能A列中相同的数据很多,但是只要C列中数值相差三秒钟内包含三秒的情况下,A列相同数据出现三次,将这三次的数据找出来即可,之前我也发帖过,但是问题弄错,谢谢大家
A B C(秒)
123 222 23
223 221 23
223 256 26
123 22 27
123 126 29
223 225 558
223 256 25
123 223 30
通过查找结果为:
A B C(秒)
223 221 23
223 256 26
123 22 27
123 126 29
223 256 25
123 223 30
请问sql查询如何书写,谢谢大家


------解决方案--------------------
SQL code
create table tb(A int,B int,C int)insert into tb select 123,222,23insert into tb select 223,221,23insert into tb select 223,256,26insert into tb select 123,22,27insert into tb select 123,126,29insert into tb select 223,225,558insert into tb select 223,256,25insert into tb select 123,223,30goselect a.* from tb a inner join(select * from tb a where exists(select 1 from tb where a=a.a and c<>a.c and c-a.c between 1 and 3)and exists(select 1 from tb where a=a.a and c<>a.c and a.c-c between 1 and 3))b on a.a=b.a and abs(a.c-b.c)<=3/*A           B           C----------- ----------- -----------123         22          27123         126         29123         223         30223         221         23223         256         26223         256         25(6 行受影响)*/godrop table tb
------解决方案--------------------
没赶上
------解决方案--------------------
SQL code
create table tb(A int,B int,C int)insert into tb select 123,222,23insert into tb select 223,221,23insert into tb select 223,256,26insert into tb select 123,22,27insert into tb select 123,126,29insert into tb select 223,225,558insert into tb select 223,256,25insert into tb select 123,223,30goselect a.* from tb a inner join(select a,c from tb twhere exists(select 1 from tb where a=t.a and c<>t.c and c-t.c between 0 and 3 group by a having count(*)=2))b on a.a=b.a and a.c-b.c between 0 and 3/*A           B           C----------- ----------- -----------123         22          27123         126         29123         223         30223         221         23223         256         26223         256         25(6 行受影响)*/godrop table tb
  相关解决方案