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
반응형
'SQL > ORACLE' 카테고리의 다른 글
Oracle 9i #7. 단일 행 함수 (0) | 2015.10.08 |
---|---|
[order by CASE]oracle order by 질문입니다 (0) | 2015.10.08 |
Oracle WHERE 절 ORDER BY 절 GROUP BY 절 각종함수 (0) | 2015.10.08 |
[order by]sql에서 order by 정렬할때 질문요 (0) | 2015.10.08 |
[order by]oracle sql문에서 정렬 방식에 임의만든 값을 앞이나 맨뒤로 나오게 하는 쿼리가? (0) | 2015.10.08 |
oracle 요일 보는 법(요일 구하기) (0) | 2015.04.03 |
MSSQL VARCHAR(10) 을 ORACLE TO_CHAR 를 사용할 때 자리수표현 (0) | 2014.09.11 |
[Oracle] DATE와 TIMESTAMP(밀리세컨드,현재시간 입력) (0) | 2014.07.14 |