전체 글528 필드값을 레코드 값으로 변환 필드값을 레코드 값으로 변환아래와 같이 T_TEST테이블의 조회되는 데이터가 있다.seq winner ---- ----- 1 Y 1 N 2 Y 2 Y ... 위와 같을 경우 SEQ코드별로 winner의 코드값이 'Y'인 COUNT 값과 'N'인 COUNT 값이 필요할경우 아래와 같이 한 레코드 형식으로 쿼리를 날려보자. SELECT seq, NVL(SUM (DECODE (winner, 'Y', 1)),0) Y, NVL(SUM (DECODE (winner, 'N', 1)),0) N FROM t_test WHERE seq > 0 GROUP BY seq 결과는 아래와 같다. SEQ Y N ----- -- -- 1 1 1 2 2 0 .....출처:필드값을 레코드값으로 변경해보자. 2016. 2. 4. 중복 데이터 제거(partition by) 데이터 조회시 중복된 데이터를 걸러내기 위한 쿼리중 한가지 방법 중에 partition by 방법이다. T_MEM 테이블과 T_MEM_MORE 테이블에 각각 USERID란 컬럼이 PK, FK로 잡혀있고 T_MEM 테이블 기준으로 중복 제거를 하려면 아래와 같다. SELECT a.userid, row_number() over(partition by b.userid order by b.userid) overlap FROM t_mem a, t_mem_more b WHERE a.userid = b.userid 그러면 데이터는 아래와 같다 USERID OVERLAP test 1 test 2 test_1 1 test_2 1 test_2 2 .... 대충 이런식이다.-_-; 저기에서 overlap =1 로 검출하면 .. 2016. 2. 4. oracle 랜덤하게 조회 oracle 랜덤하게 조회 종종 오라클에서 랜덤하게 정보를 추출할일이 생기는데 사용되는 간단한 쿼리다. select * from (select * from TEST_TABLE order by dbms_random.value) where rownum 2016. 2. 4. ORDER BY 대신에 INDEX 힌트를 사용하자.. ORDER BY 대신에 INDEX 힌트를 사용하자.. 기존의 내가 사용하던 게시판 리스트를 가져오는 쿼리는 SELECT * FROM ( SELECT ROWNUM rnum, num, id, name FROM MEMBERS WHERE ROWNUM 0 위와 같은 쿼리를 날리면 오라클 기본 정렬을 기준으로 10건까지의 데이터를 가져오게 된다. 문제는 차후에 ORDER BY 가 필요한 경우다. -- ORDER BY ID DESC, NAME ASC 위와 같은 정렬이 필요한경우 ROWNUM을 사용하면 ORDER BY는 무의미해지므로 다른 방법을 모색해야 했다. (ROWNUM으로 10건을 가져온후 ORDER BY 하게된다..-_-;). 여러 방법이 있겠지만 내가 선택한 방법은 인덱스를 설정하는것이다 CREATE IND.. 2016. 2. 4. 정기적으로 실행되는 이벤트 처리 쉘 정기적으로 실행되는 이벤트처리를 첨엔 프로시져로 매일 돌려볼까? 아님 클래스파일하나 만들까 하다가 쉘파일 생성후 Crontab에 등록시켯다.. 쉘파일 내용 sqlplus -s DB_ID/DB_PW@SID 2016. 2. 4. 집합 연산자(UNION, UNION ALL, INTERSECT, MINUS) 사용 예제 오라클에서 사용할 수 있는 집합 연산자는 union, union all, intersect,minus 가 있다. 아래의 table은 예제에서 사용될 테이블이다.SQL> select * from dept_a; DEPTNO DNAME LOC ---------- -------------- ------------- 10 ACCOUNTING NEW YORK 20 RESEARCH DALLAS 30 SALES CHICAGO 40 OPERATIONS BOSTON 50 RND SEOULSQL> select * from dept_b; DEPTNO DNAME LOC ---------- -------------- ------------- 20 RESEARCH DALLAS 30 SALES CHICAGO 60 FNA SEOUL .. 2016. 2. 4. 이전 1 ··· 54 55 56 57 58 59 60 ··· 88 다음