2016-06-27 4 views
0

날짜와 일부 텍스트가있는 테이블이 있습니다. 그 중 특정 문자열의 수를 찾고 있습니다. 예를 들어 : thusly 히발생 횟수 선택

myDate, dog_count, cat_count 
2016-06-27, 2, 0 
2016-06-27, 0, 1 

같은 행에 dog_count 및 cat_count 모두를 선택하는 방법이 있나요 :

myDate, Text 
2016-06-27, Cat food 
2016-06-27, Dog toy 
2016-06-27, Dog food 

뭔가

select myDate, sum(if text rlike 'Dog', 1, 0) dog_count 
      , sum(if text rlike 'Cat', 1, 0) cat_count 
from blah 

같은 2 개 행을 반환합니다?

myDate, dog_count, cat_count 
2016-06-27, 2, 1 

답변

3

쿼리에 group by이 누락되었습니다. 주어진 날짜에 대해 한 행에 결과를 얻으려면 추가하십시오.

select myDate 
, sum(if text rlike 'Dog', 1, 0) dog_count 
, sum(if text rlike 'Cat', 1, 0) cat_count 
from blah 
group by myDate 
+0

감사합니다 vkp - 장소에 myDate로 그룹을 만들었지 만 텍스트로 그룹을 만들었습니다. 이 쿼리를 빌드하기 위해 기존 쿼리를 수정했으며 그룹 별 업데이트를 잊어 버렸습니다. – Craig