728x90
반응형

오라클에서 특정 컬럼의 특정단어들로 group by 하는 법좀 알려주세여 (oracle)~

 

예를 들어서


link라는 컬럼에

http://www.test.com/assf/asfasf/
http://www.test2.com/asda/asfasf/
http://www.test3.com/assf/asfasf/


위와같이 데이터들이 쭉 들어가 있다고 쳤을때.

왼쪽에서 세번째 / 까지만 짤라서

group by 로 묶고 싶습니다.


결과값이

http://www.test.com
http://www.test1.com
http://www.test2.com

이렇게 나오면 되는데.

쿼리좀 부탁드리겠습니다 ㅠ

 

 

답변 :

 

select SUBSTR(link,1,INSTR(link,'/',8,1)) from table group by SUBSTR(link,1,INSTR(link,'/',8,1))

요렇게 하시면 될 것 같구요.... 테스트는 안 해봐서 실제로 잘 나올지는 모르겠네요..^^;

SUBSTR(link,1,INSTR(link,'/',8,1))

INSTR함수는 문자열에서 해당 문자가 처음 나타나는 위치의 인덱스를 반환하는 함수이구요...

INSTR({문자열},{비교할문자열},{비교를시작할위치},{몇 번째에 나오는 문자를 찾을 것인지})
instr(link,'/',8,1) 혹은 instr(link,'/',1,3) 이렇게 쓰시면 될 것 같습니다.

SUBSTR은 문자열을 잘라주는 함수입니다.
SUBSTR({문자열},시작인덱스,종료인덱스)

 

728x90
반응형
블로그 이미지

nineDeveloper

안녕하세요 현직 개발자 입니다 ~ 빠르게 변화하는 세상에 뒤쳐지지 않도록 우리모두 열심히 공부합시다 ~! 개발공부는 넘나 재미있는 것~!

,