도저히 제 수준에는 해결이 안될꺼 같아서 질문을 드립니다.
아래와 같은 데이터가 있습니다.
여기서 bit가 1인 연속적인 seq를 5개를 추출하는 것입니다.
그러니까 아래와 같이 항상 seq는 연속적으로 나와야 합니다..bit는 1이고
이거 어찌 한번의 read로 풀수있을까요?
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,bitfrom(select seq,bit,rownumber() over() rn from tmpwhere bit=1)awhere rn<=5;
SELECT A.SEQ, SUM(B.BIT)FROM TABLE A, TABLE BWHERE B.SEQ BETWEEN A.SEQ AND A.SEQ+4GROUP BY A.SEQHAVING SUM(B.BIT) = 5
질문한 사람인데요...답변 달아주신분들 감사드립니다.
하지만, 제가 원하는 건 bit가 1이고 seq가 연속적으로 나와야 하는 건데요..바로 앞뒤 seq의 차이가 항상 1 이고 bit가 1인경우가 5줄이 연속으로 ...