oracle数据库,底下表中,查询出每个相同地址中符合时间差15分钟以内的数据。sql
oracle数据库,下面表中,查询出每个相同地址中符合时间差15分钟以内的数据。sql
oracle数据库,下面表中,查询出每个相同地址中符合时间差15分钟以内的数据。sql怎么写
ID ADDS DATES
324234234 百色市靖西县新靖镇电力小区2号 2014-11-11 1:29
324234235 百色市靖西县新靖镇电力小区2号 2014-11-11 1:30
324234236 百色市平果县兴平路 2014-11-11 0:41
324234237 百色市平果县兴平路 2014-11-11 1:08
324234238 百色市田东县田东商都德洲汉堡店 2014-11-11 2:02
324234239 百色市田东县田东商都德洲汉堡店 2014-11-11 1:57
324234240 百色市田东县田东商都德洲汉堡店 2014-11-11 1:38
显示效果
ID ADDS DATES
324234234 百色市靖西县新靖镇电力小区2号 2014-11-11 1:29 满足
324234235 百色市靖西县新靖镇电力小区2号 2014-11-11 1:30 满足
324234236 百色市平果县兴平路 2014-11-11 0:41 不满足
324234237 百色市平果县兴平路 2014-11-11 1:08 不满足
324234240 百色市田东县田东商都德洲汉堡店 2014-11-11 1:38 不满足
324234239 百色市田东县田东商都德洲汉堡店 2014-11-11 1:57 满足
324234238 百色市田东县田东商都德洲汉堡店 2014-11-11 2:02 满足
------解决思路----------------------
oracle数据库,下面表中,查询出每个相同地址中符合时间差15分钟以内的数据。sql怎么写
ID ADDS DATES
324234234 百色市靖西县新靖镇电力小区2号 2014-11-11 1:29
324234235 百色市靖西县新靖镇电力小区2号 2014-11-11 1:30
324234236 百色市平果县兴平路 2014-11-11 0:41
324234237 百色市平果县兴平路 2014-11-11 1:08
324234238 百色市田东县田东商都德洲汉堡店 2014-11-11 2:02
324234239 百色市田东县田东商都德洲汉堡店 2014-11-11 1:57
324234240 百色市田东县田东商都德洲汉堡店 2014-11-11 1:38
显示效果
ID ADDS DATES
324234234 百色市靖西县新靖镇电力小区2号 2014-11-11 1:29 满足
324234235 百色市靖西县新靖镇电力小区2号 2014-11-11 1:30 满足
324234236 百色市平果县兴平路 2014-11-11 0:41 不满足
324234237 百色市平果县兴平路 2014-11-11 1:08 不满足
324234240 百色市田东县田东商都德洲汉堡店 2014-11-11 1:38 不满足
324234239 百色市田东县田东商都德洲汉堡店 2014-11-11 1:57 满足
324234238 百色市田东县田东商都德洲汉堡店 2014-11-11 2:02 满足
------解决思路----------------------
SQL> with t as
2 (select 324234234 id,'百色市靖西县新靖镇电力小区2号' ADDS,to_date('2014-11-11 1:29','yyyy-mm-dd hh24:mi') dates from dual
3 union all
4 select 324234235 id,'百色市靖西县新靖镇电力小区2号' ADDS,to_date('2014-11-11 1:30','yyyy-mm-dd hh24:mi') dates from dual
5 union all
6 select 324234236 id,'百色市平果县兴平路' ADDS,to_date('2014-11-11 0:41','yyyy-mm-dd hh24:mi') dates from dual
7 union all
8 select 324234237 id,'百色市平果县兴平路' ADDS,to_date('2014-11-11 1:08','yyyy-mm-dd hh24:mi') dates from dual
9 union all
10 select 324234238 id,'百色市田东县田东商都德洲汉堡店' ADDS,to_date('2014-11-11 2:02','yyyy-mm-dd hh24:mi') dates from dual
11 union all
12 select 324234239 id,'百色市田东县田东商都德洲汉堡店' ADDS,to_date('2014-11-11 1:57','yyyy-mm-dd hh24:mi') dates from dual
13 union all
14 select 324234240 id,'百色市田东县田东商都德洲汉堡店' ADDS,to_date('2014-11-11 1:38','yyyy-mm-dd hh24:mi') dates from dual
15 )
16 SELECT ID,ADDS,to_char(DATES,'yyyy-mm-dd hh24:mi') dates,
17 CASE WHEN DATES-PRE<=15/60/24 OR NEXT-DATES<=15/60/24 THEN '满足' ELSE '不满足' END STATUS
18 FROM(
19 select ID,ADDS,DATES,
20 lag(dates,1,dates-1) over(partition by adds order by dates) pre,
21 lead(dates,1,dates+1) over(partition by adds order by dates) next
22 from T)
23 ORDER BY adds,DATES;
ID ADDS DATES STATUS
---------- ------------------------------ ---------------- ------
324234234 百色市靖西县新靖镇电力小区2号 2014-11-11 01:29 满足
324234235 百色市靖西县新靖镇电力小区2号 2014-11-11 01:30 满足
324234236 百色市平果县兴平路 2014-11-11 00:41 不满足
324234237 百色市平果县兴平路 2014-11-11 01:08 不满足
324234240 百色市田东县田东商都德洲汉堡店 2014-11-11 01:38 不满足
324234239 百色市田东县田东商都德洲汉堡店 2014-11-11 01:57 满足
324234238 百色市田东县田东商都德洲汉堡店 2014-11-11 02:02 满足
已选择7行。
SQL>