database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
ㆍOracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Oracle Q&A 41898 게시물 읽기
No. 41898
시간 대비 값이 증감여부 확인하여 데이터 축출 관련
작성자
shitline
작성일
2022-12-02 23:42
조회수
1,202

안녕하십니까?

오랜만에 문의드리게 되었고 오랜만에 운영되는 사이트 보니 반갑습니다


다름이 아니오라,


WITH T AS (


SELECT '2022-11-23 14:31:08' LOSSTIME, '설비A' ENM, 'ERR1' ERR FROM DUAL

UNION ALL SELECT '2022-11-23 14:31:08', '설비A', 'ERR1'  FROM DUAL

UNION ALL SELECT '2022-11-23 14:39:08', '설비A', 'ERR1'  FROM DUAL

UNION ALL SELECT '2022-11-23 14:46:08', '설비A', 'ERR1'  FROM DUAL

UNION ALL SELECT '2022-11-23 14:51:08', '설비A', 'ERR1'  FROM DUAL

UNION ALL SELECT '2022-11-23 14:59:08', '설비A', 'ERR1'  FROM DUAL


)


SELECT * 

  FROM (SELECT LOSSTIME, ENM, ERR, COUNT(LOSSTIME) OVER(PARTITION BY LOSSTIME ORDER BY ERR DESC) NUM FROM T)

 WHERE NUM <= 3

   AND LOSSTIME < (SELECT '2022-11-23 14:46:08' FROM DUAL)

ORDER BY LOSSTIME , NUM;



1. 조건

  - 현재 시간에 조회를 하여 에러가 예를 들어 3개 이상이면 데이터를 뽑고 전송함

  - 현재 시간이 14:46분 이라면 조회를 하면 2건이 나옴 이때는 전송하지 아니함

    LOSSTIME                   ENM    ERR    NUM

   2022-11-23 14:31:08     설비A     ERR1      1

   2022-11-23 14:39:08     설비A     ERR1      1


  - 만약에 5분후에 조회를 하면 3건이 나와 전송함

       LOSSTIME                ENM    ERR    NUM

   2022-11-23 14:31:08    설비A     ERR1       1

   2022-11-23 14:39:08     설비A     ERR1      1

   2022-11-23 14:46:08    설비A     ERR1      1



  2. 문제점

   2.1 5분후에 다시 조회를 하여 그대로 3건이면 전송하지 않고

   2.2 3건 이상이면 또 전송을 해야 하는 문제 입니다



즉, 14시 ~ 15시 사이에 10분간격으로 조회를 해서 3건이상이면 전송

     다시 조회시 그대로면 미전송 증가하였으면 전송


어떻게 전시간의 값을 갖고 올수 있으며 위 조건들이 한방 Query로 구현이 가능한지 여쭈어 봅니다


안되면 프로시져도 생각하고 있는데...해본적이 없어서...죄송합니다..


살펴봐 주십시요

이 글에 대한 댓글이 총 1건 있습니다.

1. COUNT(LOSSTIME) OVER(PARTITION BY LOSSTIME ORDER BY ERR DESC) NUM

- 이 부분은 잘못 사용된 부분입니다. PARTITION BY 와 ORDER BY 가 없어야 합니다.

2. 전송하면 전송여부를 저장(갱신) 해야 합니다.

- 조회시엔 전송한 것은 제외하고 조회하도록

마농(manon94)님이 2022-12-05 11:07에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
41901그룹 관련 질문 입니다. [2]
봉달이
2022-12-27
1100
41900세로 데이터를 가로로 표시관련 문의 [1]
진태만
2022-12-19
1238
41899REGEXP_LIKE 정규표현식에 NOT 조건 사용 질문입니다. [1]
김지훈
2022-12-07
1191
41898시간 대비 값이 증감여부 확인하여 데이터 축출 관련 [1]
shitline
2022-12-02
1202
41897중복 제외 [1]
KIM
2022-12-01
1084
41896시간 튜닝이 필요합니다.
신승익
2022-11-16
1101
41895데이터 그룹 생성 후 출력 방법 알고 싶습니다. [2]
초심
2022-11-10
1120
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.022초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다