다음과 같은 값들이 test 라는 테이블에 있다고 가정한다.

id num date
A 1 2015-10-01
B 1 2015-10-01
A 2 2015-10-02
A 2 2015-10-02
C 2 2015-10-02
A 1 2015-10-03

 

날짜가 다를 경우만 ID별로 카운트를 하고 싶을 때!
(같은 날짜에 같은 ID에 데이터가 n개 있더라도 1개로 계산)

 

결과>

id count
A 3
B 1
C 1

다음과 같은 값들이 data 란 컬럼에 있다고 가정한다.

idx data
1 ,A,B1,C
2 ,A
3 ,B11,C,D
4 ,B1
5 ,A,B1
6 ,A,CB1,D

 

이런 상황에서 ‘B1’ 을 포함한 Row의 idx 를 가지고 오고 싶을 때..

 

쉽게 생각하면 data LIKE ‘%B1%’ 을 생각할 수 있다.

하지만 이는 ‘B11’, ‘CB1’ 도 포함되는 조건이므로 원하는 결과가 아니다.

 

이럴 경우 다음과 같이 정규식을 사용한 쿼리문으로 해결할 수 있다.

 

결과>

idx data
1 ,A,B1,C
4 ,B1
5 ,A,B1

 

참고 URL)

http://www.techotopia.com/index.php/MySQL_Regular_Expression_Searches