作业帮 > 综合 > 作业

SQL 语言 查找 宋词中 词语使用频率

来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/10 19:13:46
SQL 语言 查找 宋词中 词语使用频率
就像比较热门的那篇文章一样,找到的最频繁的词语是东风之类的,下午就要交了,求救啊
SQL 语言 查找 宋词中 词语使用频率
这个昨天有人问过了
没有太好的解决办法,只能构建一个词语表,里边一列就够,用来存放类似东风之类的词语
词语表
字段词语
东风
西风
南风
北风
类似这样的
然后
select b.词语,count(*)
from 主表 a,副表 b where
charindex(b.词语,a.宋词)>1
group by b.词语
主表就是你宋词的表,副表就是存放这些词语的表
再问: 可是就是我们现在没法知道有哪些是高频词,所以没有办法列这个高频词表,就想能不能直接找出来,我就搜网上找到了R语言的,C语言的,就是没有SQL语言的 ,所以很无奈啊
再答: 那能否通过宋词里,每两个字循环取出,放到这个副表里,不过可能要借助存储过程来完成 比如“枯藤老树昏鸦” 分别拆成 枯藤 藤老 老树 树昏 昏鸦 但是只有奇数位的那几个是词语,另外两个不是词语
再问: 应该可以,不是词语的自然统计出来就不是高频词语了,应该就是这样的,求具体代码额,我是刚刚才学SQL,不是很了解怎么提取,谢谢了
再答: 恩,等着吧,我看看能不能写个函数,把这些东西提取出来 顺便问一句,什么数据库,版本?
再问: 谢谢哈,SQLserver 2008R2的
再答: 写了一个不完善版本的 先建表 create table word (content varchar(4)) 然后执行下边这个 declare @inputword varchar(8000) declare @i int declare @j int set @i=1 set @inputword='我爱你们大家' select @j=LEN(@inputword) while @i