에 대해 서로 다른 단어를 표시 횟수 개수 : 나는 각 행에 대해 다른 단어를 표시하는 횟수를 계산하려면내가 MySQL의 테이블과 같이이 각 행
id content
----- ------
1 Big green tree
2 Small green tree
3 Green tree
4 Small yellow tree
5 Big green lake
.
예 : 나는 빅, 녹색 및 트리를 검색합니다. 그것은 다음과 같은 결과를 반환해야합니다
id count
----- ------
1 3
2 2
3 2
4 1
5 2
내가 좋아하는 뭔가를 시도 :
SELECT `content`
, COUNT(*) as count
FROM `elements`
WHERE `content` LIKE '%Big%'
OR `content` LIKE '%green%'
OR `content` LIKE '%tree%'
GROUP
BY `id`
ORDER BY count DESC;
그것은하지 않습니다 작품은 모든 경기 만 행 반환하기 때문에 : 당신이 경우
id count
----- ------
1 1
2 1
3 1
4 1
5 1
좋은 해결책이지만 num_matches <0 (where 절에 추가 할 수 없음) 행을 피하기 원합니다. –
편집을 참조하십시오 ... –
내가 말했듯이 : 알 수없는 열 'num_matches'where where 절 ' –