-- tbl ------
b
-------------
10
30
50
15
13 -->
12
55
100
123
30
50
15
101 -->
...
--------------
결과테이블
--------------
b
--------------
13
101
--------------
안녕하세요.
혼자 해결하기에 어려움이 있어 한수 가르침을 받고자 질문 드립니다.
제가 입력값이 예를들어 30,50,15일때
query문을 통해 b값을 찾으려고 합니다.
입력값이 수시로 변할때
퀴리문을 어떻게 해야 할지 부탁드립니다.
=>답변
문제 해결을 위해서는 정렬기준이 필요합니다.
idx 컬럼으로 정렬한다고 가정하고 작성했습니다.
SELECT idx, b
FROM (SELECT idx, b
, CASE WHEN @x LIKE '%,30,50,15' THEN 1 ELSE 0 END flag
, @x := CONCAT(@x, ',', b)
FROM (SELECT idx, b FROM test ORDER BY idx) a
, (SELECT @x := '') b
) c
WHERE flag = 1
;
'프로그램개발 > DB(MySQL,MariaDB,MongoDB)' 카테고리의 다른 글
더 빠른 SQL 쿼리를 위한 21가지 데이터베이스 튜닝 규칙 (0) | 2017.07.31 |
---|---|
SQL 콤마를 앞에 쓰는이유 (0) | 2017.07.20 |
월별통계 예제 쿼리 (0) | 2017.03.17 |
mysql 데몬 자동으로 죽는 현상 발생 (skip-name-resolve) (0) | 2017.02.24 |
MySQL UNION 기본 참고 URL (0) | 2017.02.09 |