쿼리질문드립니다 ㅠㅠ 0 5 1,186

by 돼지뚱뙝이 [SQL Query] QUERY [2020.02.11 16:03:36]


1234.png (6,165Bytes)

아래와 같이 데이터가 있습니다.(이게 설문조사한 답변이 ',' 로 구분되어 한로우에 들어가있습니다. 1~20까지 항목이고 선택한 값에 한에 들어갑니다.)

이걸 현황으로 만들어내야하는대 쿼리를 어찌짜야할지 고민입니다.

예를들어 전체 데이터중에 1이 몇개들어있는지 2가 몇개들어있는지 현황으로 만들어야하는대... 고수님들 도움요청드립니다.

by 마농 [2020.02.11 16:33:26]

DB 종류에 따라, 버전에 따라, 쿼리 문법이 달라질 텐데요.
DB 종류 및 버전을 알려주세요.


by 돼지뚱뙝이 [2020.02.11 16:37:45]

아 그렇군요... 

DB는 티베로를 쓰고있습니다. 

SHM_VERSION = 0x20020410

STABLE_VERSION = FS03_CS_1611

입니다. 


by 돼지뚱뙝이 [2020.02.11 16:43:26]

그렇군요

DB는 티베로이고 버전은 
PRODUCT_MAJOR = 5
PRODUCT_MINOR = SP1
BUILD_NUMBER = 140342
PROTOCOL_MAJOR = 2
PROTOCOL_MINOR =  8
SHM_VERSION =  0x20020410
STABLE_VERSION =  FS03_CS_1611

입니다. 어떤게 정확한건지 몰라서 다적어봤습니다.
 


by 마농 [2020.02.11 16:39:22]
WITH t AS
(
SELECT 1 idx, '1' v FROM dual
UNION ALL SELECT  2, '1,10'              FROM dual
UNION ALL SELECT  3, '1,2'               FROM dual
UNION ALL SELECT  4, '1,2,3'             FROM dual
UNION ALL SELECT  5, '1,2,3,4'           FROM dual
UNION ALL SELECT  6, '1,2,3,4,5'         FROM dual
UNION ALL SELECT  7, '1,2,3,4,5,6'       FROM dual
UNION ALL SELECT  8, '1,2,3,4,5,6,7'     FROM dual
UNION ALL SELECT  9, '1,2,3,4,5,6,7,8'   FROM dual
UNION ALL SELECT 10, '1,2,3,4,5,6,7,8,9' FROM dual
UNION ALL SELECT 11, '2,3,4,5,6,7'       FROM dual
UNION ALL SELECT 12, '2,3,4,6,20'        FROM dual
UNION ALL SELECT 13, '2,3,4,6,7'         FROM dual
UNION ALL SELECT 14, '2,3,4,6,7,8'       FROM dual
UNION ALL SELECT 15, '2,3,4,6,8'         FROM dual
UNION ALL SELECT 16, '2,3,4,6,9'         FROM dual
UNION ALL SELECT 17, '2,3,4,7'           FROM dual
)
SELECT lv
     , COUNT(idx) cnt
  FROM (SELECT LEVEL lv FROM dual CONNECT BY LEVEL <= 20) a
  LEFT OUTER JOIN t b
    ON INSTR(','||v||',', ','||lv||',') > 0
 GROUP BY lv
 ORDER BY lv
;

 


by 돼지뚱뙝이 [2020.02.11 16:55:15]

마농님 정말감사합니다.

LIKE 절을 쓰려고해도 1하고 10을 어찌구분해야하나 고민되었는대... 

새로운거 하나더 배워갑니다~ 정말감사해요.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입