dtmm0148603 2014-12-10 15:14
浏览 43

mysql通过表计数主题标签的数量

i have mysql table text(id, text) with values:

1, 'some #text with #hashtags ...'
2, 'more #text without....'
... and more

is possible in sql get count for any hashtags ? something

like select count(regexp) from text where...regexp... magic happened ;)

needed result: #text ...2x, $#hashtags 1x

i cant select text with

select * from  table where text REGEXP '#[a-z]*

but this way i get only rows with any #hashtag

Any idea ?

Ok, i can select all and count in result with php of course, but its possible only mysql solution ?

  • 写回答

1条回答 默认 最新

  • drw85135 2014-12-12 22:50
    关注
    1. Select rows from MySQL SELECT text FROM text WHERE text REGEXP '#(\w+)'

    \w means Any word character (letter, number, underscore)

    + means one or more

    1. Get hashtag from text column using the preg_match with the same pattern '#(\w+)' and using the $match (take a look at the reference!)

    $match =

    Array
    (
        [0] => #hashtag
        [1] => hashtag
    )
    
    1. Count in array, $hashtags_count[$match[1]]++
    评论

报告相同问题?

悬赏问题

  • ¥15 在获取boss直聘的聊天的时候只能获取到前40条聊天数据
  • ¥20 关于URL获取的参数,无法执行二选一查询
  • ¥15 液位控制,当液位超过高限时常开触点59闭合,直到液位低于低限时,断开
  • ¥15 marlin编译错误,如何解决?
  • ¥15 有偿四位数,节约算法和扫描算法
  • ¥15 VUE项目怎么运行,系统打不开
  • ¥50 pointpillars等目标检测算法怎么融合注意力机制
  • ¥20 Vs code Mac系统 PHP Debug调试环境配置
  • ¥60 大一项目课,微信小程序
  • ¥15 求视频摘要youtube和ovp数据集