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 38533 게시물 읽기
No. 38533
연속일수 구하는 SQL..급한데,잘 안됩니다.흑.
작성자
임현정(mycarrie)
작성일
2011-05-01 20:51
조회수
4,185

ymd ilsu sabun
20110415 0 1054246
20110416 0 1054246
20110417 0 1054246
20110418 1 1054246
20110419 1 1054246
20110420 1 1054246
20110421 0 1054246
20110422 1 1054246
20110423 1 1054246
20110425 1 1054246
20110426 0 1054246
20110427 0 1054246
20110428 0 1054246
20110429 1 1054246
ymd ilsu sabun
20110415 1 1060442
20110416 0 1060442
20110417 0 1060442
20110418 1 1060442
20110419 1 1060442
20110420 1 1060442
20110421 0 1060442
20110422 1 1060442
20110423 1 1060442
20110425 1 1060442
20110426 0 1060442
20110427 0 1060442
20110428 0 1060442
20110429 1 1060442

사번별로 가장 최근 연속으로 0 인 일수를 구하는 SQL을 작성하는 중인데,뜻대로 되질 않네요.

고수님들의 좋은 답변 부탁드립니다.

 

 

 

 

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

WITH t AS
(
SELECT '20110415' ymd, 0 ilsu, '1054246' sabun FROM dual
UNION ALL SELECT '20110416', 0, '1054246' FROM dual
UNION ALL SELECT '20110417', 0, '1054246' FROM dual
UNION ALL SELECT '20110418', 1, '1054246' FROM dual
UNION ALL SELECT '20110419', 1, '1054246' FROM dual
UNION ALL SELECT '20110420', 1, '1054246' FROM dual
UNION ALL SELECT '20110421', 0, '1054246' FROM dual
UNION ALL SELECT '20110422', 1, '1054246' FROM dual
UNION ALL SELECT '20110423', 1, '1054246' FROM dual
UNION ALL SELECT '20110425', 1, '1054246' FROM dual
UNION ALL SELECT '20110426', 0, '1054246' FROM dual
UNION ALL SELECT '20110427', 0, '1054246' FROM dual
UNION ALL SELECT '20110428', 0, '1054246' FROM dual
UNION ALL SELECT '20110429', 1, '1054246' FROM dual
UNION ALL SELECT '20110415', 1, '1060442' FROM dual
UNION ALL SELECT '20110416', 0, '1060442' FROM dual
UNION ALL SELECT '20110417', 0, '1060442' FROM dual
UNION ALL SELECT '20110418', 1, '1060442' FROM dual
UNION ALL SELECT '20110419', 1, '1060442' FROM dual
UNION ALL SELECT '20110420', 1, '1060442' FROM dual
UNION ALL SELECT '20110421', 0, '1060442' FROM dual
UNION ALL SELECT '20110422', 1, '1060442' FROM dual
UNION ALL SELECT '20110423', 1, '1060442' FROM dual
UNION ALL SELECT '20110425', 1, '1060442' FROM dual
UNION ALL SELECT '20110426', 0, '1060442' FROM dual
UNION ALL SELECT '20110427', 0, '1060442' FROM dual
UNION ALL SELECT '20110428', 0, '1060442' FROM dual
UNION ALL SELECT '20110429', 1, '1060442' FROM dual
)
SELECT sabun
     , MIN(ymd) KEEP(DENSE_RANK LAST ORDER BY grp) s_ymd
     , MAX(ymd) KEEP(DENSE_RANK LAST ORDER BY grp) e_ymd
     , COUNT(*) KEEP(DENSE_RANK LAST ORDER BY grp) cnt
  FROM (
        SELECT sabun, ymd, ilsu
             , ROW_NUMBER() OVER(PARTITION BY sabun ORDER BY ymd)
             - ROW_NUMBER() OVER(PARTITION BY sabun, ilsu ORDER BY ymd)
            AS grp
          FROM t
        )
 WHERE ilsu = 0
 GROUP BY sabun
 ORDER BY sabun
;

마농(manon94)님이 2011-05-02 10:20에 작성한 댓글입니다.

감사합니다.

회사에서는 게시판에 글이 안써져서...

이제야 감사의 글을 올리네요.

아직 해보지는 않았지만, 잘 되겠지요...^^

 

 

임현정(mycarrie)님이 2011-05-03 00:25에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
38536토드 같은 툴에서 다중 디비 접속 어떻게 하는지... [2]
아이니
2011-05-03
4440
38535데이터별 다른 조건 [4]
진희
2011-05-03
4249
38534초당 3천~6천건의 insert시 100만건에서 서버 뻗는 현상 [2]
최지훈
2011-05-03
4210
38533연속일수 구하는 SQL..급한데,잘 안됩니다.흑. [2]
임현정
2011-05-01
4185
38532insert 무반응.. [1]
마이네오
2011-04-29
4063
38531오라클 서버 V8.1.7이고 Client는 10G이면 ?
궁금해요
2011-04-29
3057
38530쿼리 속도 문제... [2]
손님
2011-04-28
3856
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.016초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다