본문 바로가기

db

오라클 rank over, row_number 사용방법 통계정보를 보여주는 조회화면은 기본적으로 로우데이터를 특정기준으로 그룹핑하여 합계, 최고, 최저 값을 보여주죠.보통은 group by [기준컬럼] having [그룹조건] 형식으로 구현되지만 그룹내 특정 순위조건에 해당되는 값을 추출할때는 아래와 같이 조금 다른방법을 쓸 수 있습니다. rank() over(partition by [그룹컬럼] order by [그룹내 정렬컬럼])group by 와 달리 전체 로우데이터를 조회하면서 그룹핑된 정렬값을 같이 보여줄 수 있습니다. 예시 1) 부서, 인원별 월급 순위 구하기 SQL>>>>>>>>>>>>>>>with pay_info as ( select 4500000 as pay , '영업팀' as dept, '김민정' as emp from dual union al.. 더보기
오라클 rank over over , row_number over 활용 예시 통계정보를 보여주는 조회화면은 기본적으로 로우데이터를 특정기준으로 그룹핑하여 합계, 최고, 최저 값을 보여주죠.보통은 group by [기준컬럼] having [그룹조건] 형식으로 구현되지만 그룹내 특정 순위조건에 해당되는 값을 추출할때는 아래와 같이 조금 다른방법을 쓸 수 있습니다. rank() over(partition by [그룹컬럼] order by [그룹내 정렬컬럼])group by 와 달리 전체 로우데이터를 조회하면서 그룹핑된 정렬값을 같이 보여줄 수 있습니다. 예시 1) 부서, 인원별 월급 순위 구하기 SQL>>>>>>>>>>>>>>>with pay_info as ( select 4500000 as pay , '영업팀' as dept, '김민정' as emp from dual union al.. 더보기
[오라클] ORA-30926 에러 확인 ORA-30926 원본 테이블의 고정 행 집합을 가져올 수 없습니다 unable to get a stable set of rows in the source tables 요런 메시지는 MERGE 구문 사용 시 발생될 수 있는 메시지 입니다. 추측가능한 오류로는 1. using 구문안에 데이터가 PK제약사항에 중복되는 경우 입니다. 더보기
[오라클] 실수로 테이블 데이터 날리고 커밋 후 데이터 복구 팁 간단하게 복구하는 방법입니다. ORACLE에는 TIMESTAMP라는 기능이 있습니다. 말그대로 해당시간의 DATA를 조회하는 기능입니다. 그래서 사고친시간 이전의 데이타를 조회해서 그 데이타를 복구할 수 있습니다. 1일동안의 데이터만 복구가능합니다. select * from table_name as of timestamp(to_timestamp('2011-02-22 10:00:00','yyyy-mm-dd hh24:mi:ss')); 더보기
오라클 함수 모음 구분 함수명 사용빈도 설명 예제 유사처리 문자함수 CANCAT 낮음 첫 번째 문자와 두 번째 문자를 연결 select CONCAT('val1', ' val2') from dual; select CONCAT('val1', null) from dual; select 'val1' || 'val2' from dual; select 'val1' || null from dual; 문자함수 COALESCE 낮음 인자순서대로 값을 확인하여 null 이 아닌 첫번째 값을 출력 select coalesce( 'aa', 'bb', 'cc','dd' ) from dual; select coalesce( null, 'bb', 'cc','dd' ) from dual; select coalesce( null, null, 'cc',.. 더보기
[오라클] 오류 잡기 Variant conversion error for variable :V29 plsql Developer 에서 for update 구문을 이용해 엑셀 데이터를 올리던 중 Variant conversion error for variable :V29 이런 에러가 발생했습니다. 과정생략하고 이런 에러는 변환 29번째 필드(0부터시작)값이 변환처리 오류가 발생했다는것입니다. 저 같은경우는 숫자 필드에 문자열을 넣으려고 해서 발생했었습니다. 그럼 row 는 어떻게 찾을수 있냐면.. 저장을 실행해보면 에러가 나는 행에서 연필?이 멈춰있습니다.. 실제로 연필그림이 해당 로우에 있습니다.ㅎ 네이버를 뒤져봐도 안나오더군요..너무 쉬운 에러라서 그런가..ㅡㅡ; 더보기
[오라클] Oracle ORA-12519 오류 원인과 해결방법 java.sql.SQLException: Listener refused the connection with the following error: ORA-12519, TNS:no appropriate service handler found The Connection descriptor used by the client was 대충 이런 메시지를 띄우면서 개발 진행중에 간혹 ORA-12519 오류가 발생하는 경우가 있습니다.. 설정을 변경한것도 아니고 개발 잘 진행하다가 말이죠. 원인은 개발자 1명당 DB에 접속하는 Connection Process 의 개수가 n개 이고 개발하는 사람 수 * 개발자 1명당 DB에 접속하는 Connection Process 의 개수 가 DBMS의 Max Process 설정값을.. 더보기