MySQL 비슷한 항목 그룹해서 SELECT

2020. 4. 17. 16:00DBMS/MySQL

728x90
반응형

조건 : 언더바(_) 가 포함 되는 값이라면, 언더바(_) 기준으로 글자를 잘라내기 한 다음 COUNT한다.

위와 같은 테이블이 있고  우측처럼 SELECT 하고 싶을 때 사용할 수 있다.

# 특정 단어를 포함해서 COUNT 하기

SELECT

    `Type` ,

    IF(INSTR(ItemName,'_') < 1

        TestItem,SUBSTR(ItemName,1,INSTR(ItemName,'_')-1)) AS 'ItemName'

    COUNT(*) AS '횟수'

FROM 

    `t`.`test`

WHERE 

    `ItemName` IS NOT NULL

GROUP BY 

    ItemName 


INSTR 함수

   : SELECT INSTR('adcdef_ghijk','_')
   : 2번째 인자 값에 들어가는 문자열의 위치를 찾아 리턴한다. 

   ex) adbcef_ghijk   

        INSTR('adbcef_ghijk', '_')의 리턴 값은 7   

 

 

SUBSTR

  : SELECT SUBSTR('adcdef_ghijk',1,7)

   1번째 글자부터 7번째까지 글자를 가져온다.

 

 

 

 

728x90
반응형