2019-02-01
阅读量:
845
mysql如何在长型数据中实现词根检索?
问题描述:
- 如下图所示数据结构,如何检索出同时考了“计算机”和“英语”的考生stu_id呢?

解决策略:
- 以stu_id为查询维度,需要以stu_id字段做聚合
- 然后利用group_concat把多个c_name合并到一起显示
- 最后利用where...like去检索同时包含“计算机”和“英语”字符的数据
- group_concat的结果是没有办法直接和where..like混用的,因此需要用子查询过渡
select a.*
from (select s.* ,group_concat(c_name) find
from score s
group by stu_id) a
where find like '%计算机%'
and find like '%英语%';

- 该表是成绩表,但是查询思路可以过渡到长型数据的查询中,从而实现词根检索






评论(0)


暂无数据
推荐帖子
0条评论
0条评论
0条评论