1 2 3 4 5 6 7 8 | SELECT IP , CASE WHEN ( SELECT COUNT (*) FROM TABLE_1 B WHERE B. DATE > A. DATE AND B.IP = A.IP) > 0 THEN '0' ELSE '1' END CHK_IP FROM TABLE_1 A |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | -- 이전 접속기록 체크라면 부등호가 뒤바뀐 듯 하구요. -- (b.date > a.date) 을 (b.date < a.date) 로 바꾸시고 -- 단순 있는지 없는지, 존재여부만 체크한다면? -- 전체 Count 할필요 없이 1건만 체크하면 됩니다. -- (ROWNUM = 1) 조건 추가 -- (ip, date)로 구성된 인덱스가 있어야만 합니다. SELECT ip , ( SELECT NVL( MAX (0), 1) FROM table_1 b WHERE b. date < a. date AND b.ip = a.ip AND ROWNUM = 1 ) chk_ip FROM table_1 a ; |