mysql数据库中contains怎么用

mysql数据库中contains怎么用,第1张

我们通常在 WHERE 子句中使用 CONTAINS ,就象这样:SELECT * FROM table_name WHERE CONTAINS(fullText_column,'search contents')。

我们通过例子来学习,假设有表 students,其中的 address 是全文本检索的列。

1. 查询住址在北京的学生

SELECT student_id,student_name

FROM students

WHERE CONTAINS( address, 'beijing' )

remark: beijing是一个单词,要用单引号括起来。

2. 查询住址在河北省的学生

SELECT student_id,student_name

FROM students

WHERE CONTAINS( address, '"HEIBEI province"' )

remark: HEBEI province是一个词组,在单引号里还要用双引号括起来。

3. 查询住址在河北省或北京的学生

SELECT student_id,student_name

FROM students

WHERE CONTAINS( address, '"HEIBEI province" OR beijing' )

remark: 可以指定逻辑 *** 作符(包括 AND ,AND NOT,OR )。

4. 查询有 '南京路' 字样地址

SELECT student_id,student_name

FROM students

WHERE CONTAINS( address, 'nanjing NEAR road' )

remark: 上面的查询将返回包含 'nanjing road','nanjing east road','nanjing west road' 等字样的地址。

A NEAR B,就表示条件: A 靠近 B。

5. 查询以 '湖' 开头的地址

SELECT student_id,student_name

FROM students

WHERE CONTAINS( address, '"hu*"' )

remark: 上面的查询将返回包含 'hubei','hunan' 等字样的地址。

记住是 *,不是 %。

6. 类似加权的查询

SELECT student_id,student_name

FROM students

WHERE CONTAINS( address, 'ISABOUT (city weight (.8), county wright (.4))' )

remark: ISABOUT 是这种查询的关键字,weight 指定了一个介于 0~1之间的数,类似系数(我的理解)。表示不同条件有不同的侧重。

7. 单词的多态查询

SELECT student_id,student_name

FROM students

WHERE CONTAINS( address, 'FORMSOF (INFLECTIONAL,street)' )

remark: 查询将返回包含 'street','streets'等字样的地址。

对于动词将返回它的不同的时态,如:dry,将返回 dry,dried,drying 等等。

以上例子都使用英文,不使用中文是因为有的查询方式中文不支持

select * from(select name as 名字,count(name)+1 as 出现次数 form 表名 where name not in(select distinct name from 表名) group by name) order by 出现次数 desc

这个语句查出来的应该就是你想要的数据了。

试一下可以吗?

需要解释一下上面的SQL语句吗?

共有三个select组成。

最里面的是把不同的查出来。每个name只出现一条记录

第二层的是把重复的找出来并跟据名字分组算出每个出现的次数,加1是因为。里面层语句中占用了一个所以count在计算的时候会少一个

最外层的作用就是给重复的记录排序啦

类型 一般情况下 不允许 为null,当然也可以设置,在设计表的时候 就应该给一个默认值,无论是 引用类型还是值类型 最好给默认值,这样你不需要写一些垃圾判断来处理这些东西。

在C# 值类型 在前面打一个?号就代表它是可以为NULL。

例如

int? a=null

在属性中 public int? Age { getset}

最后还是想说一句,无论这种表结构是谁设计的,应该没必要这样设计,最好全部都有默认值,哪怕是 时间类型。 否则你后续要写一大堆垃圾无用的判断,看似高大上,其实然并卵


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9914849.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存