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
운영게시판
최근게시물
DB2 Q&A 907 게시물 읽기
No. 907
sql질문..
작성자
손님
작성일
2006-01-08 00:49
조회수
5,685

도저히 제 수준에는 해결이 안될꺼 같아서 질문을 드립니다.

아래와 같은 데이터가 있습니다.

 

seq bit
23 1
24 0
25 1
26 0
27 1
28 1
29 1
30 1
31 1
32 0
33 1
34 1


 

여기서 bit가 1인 연속적인 seq를 5개를 추출하는 것입니다.

그러니까 아래와 같이 항상 seq는 연속적으로 나와야 합니다..bit는 1이고

27 1
28 1
29 1
30 1
31 1


이거 어찌 한번의 read로 풀수있을까요?

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

with tmp (seq, bit) as( values
(23, 1),
(24, 0),
(25, 1),
(26, 0),
(27, 1),
(28, 1),
(29, 1),
(30, 1),
(31, 1),
(32, 0),
(33, 1),
(34, 1))

select seq,bit
from
(
select seq,bit,rownumber() over() rn from tmp
where bit=1
)a
where rn<=5;

rownumber님이 2006-01-09 09:51에 작성한 댓글입니다. Edit

SELECT A.SEQ, SUM(B.BIT)
FROM TABLE A, TABLE B
WHERE B.SEQ BETWEEN A.SEQ AND A.SEQ+4
GROUP BY A.SEQ
HAVING SUM(B.BIT) = 5

서성완(redmoon94)님이 2006-01-09 15:53에 작성한 댓글입니다.

질문한 사람인데요...답변 달아주신분들 감사드립니다.

하지만, 제가 원하는 건 bit가 1이고 seq가 연속적으로 나와야 하는 건데요..바로 앞뒤 seq의 차이가 항상 1 이고 bit가 1인경우가 5줄이 연속으로 ...

 

손님님이 2006-01-09 20:24에 작성한 댓글입니다. Edit

 

SELECT B.SEQ,B.BIT
FROM
(
SELECT A.SEQ, SUM(B.BIT)
FROM TABLE A, TABLE B
WHERE B.SEQ BETWEEN A.SEQ AND A.SEQ+4
GROUP BY A.SEQ
HAVING SUM(B.BIT) = 5
)A,TABLE B
WHERE B.SEQ BETWEEN A.SEQ AND A.SEQ+4;
re님이 2006-01-11 10:50에 작성한 댓글입니다. Edit

 

select seq-4,seq-3,seq-2,seq-1,seq
  from table a
 where 5 = (select sum(b.bit)
              from table b
             where a.seq between b.seq and b.seq+4);
한줄님이 2006-01-11 11:16에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
910각 아이디별 최종 데이터값만 가져오기 [2]
빵꾸
2006-01-16
5113
909db2에서 테이블마다 사용하는 공간을 구하려면 어떻게 해야하나요.. [1]
회장
2006-01-11
5057
908이런 쿼리를 사용했습니다. 좀 컴팩트 시켜주세요... [3]
주영택
2006-01-09
6363
907sql질문.. [5]
손님
2006-01-08
5685
906날짜필드가 Char 타입인데... DATE타입으로 변경하는것좀 알려주세요... [4]
이성훈
2006-01-05
7185
905dayofweek 함수 사용법 좀 봐주세요^^ [2]
이성훈
2006-01-05
5882
904DAYOFWEEK 날짜함수 사용해보신분들 질문입니다. [5]
이성훈
2006-01-05
7371
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.018초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다