2013-05-06 1 views
2

트윗과 같은 "트렌드"해시 태그를 측정하는 쿼리를 작성하려고합니다. 나는 테이블 짹짹 및 열 메시지 (varchar)mysql에서 해시 태그 동향 쿼리를 작성하는 데 도움이 필요합니다.

기본적으로 나는 단지 해시 태그로 메시지를 그룹화하고 싶지만 메시지 필드에 2 개 이상의 해시 태그가 있으면 고장이 난다. 지금까지

SELECT count(message) as count, `message` FROM `tweets` WHERE `message` RLIKE '^#[[:alnum:]]' GROUP BY `tweets`.`message` ORDER BY `count` DESC 

하는 출력 할 다음 행

"4","#sushi" 
"3","#coffee" 
"3","#wine" 
"1","#coffee #park" 
"1","#drinking" 
"1","#steak" 
"1","#pizza" 
"1","#pasta" 
"1","#food" 

네 번째 행은 내가 모두 해시 태그 난 그냥 MySQL과이를 달성 할 수 있는지 확실하지 않습니다, 자신에 달했다 원하는 것이 문제입니다.

+0

해시 태그가 두 개 이상일 수 있습니까? 무제한입니까? – sgeddes

+0

예. 무제한입니다. – Brian

+0

[다른 도움이 될만한 게시물] 열을 분할해야합니다. (http://stackoverflow.com/questions/1096679/can-mysql-split-a-column) – mconlin

답변

0

열이 message이지만 해시 태그로 그룹화하려고합니다. 데이터베이스 디자인 POV에서 message은 실제로 반복 그룹 해시 태그를 보유하므로 테이블이 1NF가 아닙니다. 수정되기 전에는 테이블에 SQL 기능을 사용할 수 없습니다.

모든 메시지의 모든 태그에 대해 하나의 행이있는 다른 테이블 hashtags이 필요합니다. 일단 그렇게하면 쿼리가 실질적으로 스스로를 작성합니다.

관련 문제