[퀴즈] 기준시간내에 재등록된 데이터 검색
마농군와 호야군은 지뢰찾기를 합니다.
지뢰찾기에 성공할때마다 성공한 시각을 기록하였습니다.
WITH mine AS
(
SELECT '마농' nm, '20090422090000' sdt FROM dual
UNION ALL SELECT '마농', '20090422091005' FROM dual
UNION ALL SELECT '마농', '20090422091502' FROM dual
UNION ALL SELECT '마농', '20090422091730' FROM dual
UNION ALL SELECT '마농', '20090422094000' FROM dual
UNION ALL SELECT '마농', '20090422095000' FROM dual
UNION ALL SELECT '호야', '20090422190000' FROM dual
UNION ALL SELECT '호야', '20090422191005' FROM dual
UNION ALL SELECT '호야', '20090422191502' FROM dual
UNION ALL SELECT '호야', '20090422193730' FROM dual
UNION ALL SELECT '호야', '20090422194000' FROM dual
UNION ALL SELECT '호야', '20090422195000' FROM dual
)
SELECT * FROM mine
[문제] 이 자료로 부터 성공후 5분안에 다시 성공한 자료를 뽑고자 합니다.
(전체 자료중 색칠한 부분에 해당되는 자료를 뽑으시면 됩니다.)
NM |
SDT |
마농 |
20090422090000 |
마농 |
20090422091005 |
마농 |
20090422091502 |
마농 |
20090422091730 |
마농 |
20090422094000 |
마농 |
20090422095000 |
호야 |
20090422190000 |
호야 |
20090422191005 |
호야 |
20090422191502 |
호야 |
20090422193730 |
호야 |
20090422194000 |
호야 |
20090422195000 |
[답안보기] <== 트리플클릭
SELECT nm, sdt
FROM (SELECT t.*
, COUNT(*) OVER(PARTITION BY nm
ORDER BY TO_DATE(sdt,'yyyymmddhh24miss')
RANGE BETWEEN NUMTODSINTERVAL(5,'minute') PRECEDING
AND NUMTODSINTERVAL(5,'minute') FOLLOWING
) AS cnt
FROM mine t
)
WHERE cnt > 1
;