항상 도움을 주셔서 감사드립니다.
아래 TRY 세번이상이고 이후 SUCCESS 가 되었으면 성공한 것인데요.
TRY 가 세번이상이 되서 이후 SUCCESS 된 경우를 찾고 싶습니다.
여기서 TRY 는 1번도 있을 수 있고 2번도 있을 수 있습니다.
또 TRY 이후 SUCCESS 가 아니라 SUCCESS 이후에 TRY 가 3번 연속된 경우도 찾고 싶어요.
부탁드립니다.
TRY |
TRY |
TRY |
SUCCESS |
TRY |
TRY |
SUCCESS |
TRY |
TRY |
SUCCESS |
TRY |
TRY |
TRY |
SUCCESS |
TRY |
TRY |
SUCCESS |
TRY |
Comment 4
-
성이[SungE | 추교성]
2013.04.16 17:58
-
진윤호
2013.04.16 18:12
역시 자동 증가값이 따로 없이는 힘든 것이지요?
한개의 컬럼 가지고만은 불가능한 느낌이....
계산된 열로 어케 하는 방법이 있을까요?
-
성이[SungE | 추교성]
2013.04.17 10:43
연속이라는 의미가 성립하려면 순서를 보장해 줄 수 있는 값이 존재해야 하기 때문에 최소한 자동 증가 값이라도 있어야 가능해 보입니다 ^^;;
-
afddsa
2013.04.16 20:11
감사합니다 ^^
CREATE TABLE TBL (RNUM INT IDENTITY, DATA VARCHAR(32));
INSERT INTO TBL(DATA)
VALUES
('TRY'),
('TRY'),
('TRY'),
('SUCCESS'),
('TRY'),
('TRY'),
('SUCCESS'),
('TRY'),
('TRY'),
('SUCCESS'),
('TRY'),
('TRY'),
('TRY'),
('SUCCESS'),
('TRY'),
('TRY'),
('SUCCESS'),
('TRY');
SELECT NUM_B AS RNUM, DATA
FROM (SELECT ISNULL((SELECT TOP (1) RNUM FROM TBL B WHERE B.RNUM < A.RNUM AND B.DATA = 'SUCCESS' ORDER BY RNUM DESC), 0) NUM_A
, A.RNUM AS NUM_B
, A.DATA
FROM TBL A
WHERE DATA = 'SUCCESS') V
WHERE (NUM_B - NUM_A - 1) = 3;