2

我正在尝试构建一个查询来衡量“趋势”哈希标签,如推文。我有一个表推文和一个列消息(varchar)

基本上我只想按哈希标签对消息进行分组,但如果消息字段中有超过 1 个哈希标签,它就会崩溃,这就是我到目前为止所拥有的

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 来实现这一点。

4

1 回答 1

0

您的专栏是message,但您想按主题标签分组。从数据库设计 POV 来看,您的表不在 1NF 中,因为message实际上包含一组重复的哈希标签。在纠正之前,您将无法在表上使用 SQL 的强大功能。

您需要的是另一个表hashtags,其中每条消息中的每个标签都有一行。一旦你有了它,查询实际上会自己写。

于 2013-05-06T03:32:50.373 回答