mysql排序加权_mysql多关键词查询相关匹配加权排序
SELECT id, title, SUM((CASE WHEN title LIKE '%复仇者%' THEN 1 ELSE 0 END)+(CASE WHEN title LIKE '%联盟%' THEN 1 ELSE 0 END)) as rnt FROM `hash` WHERE title LIKE '%联盟%' group by id ORDER by rnt DESC
关键1.就是这个SUM()求和函数
关键2.该SUM函数要搭配子句:group by id 一起使用才会有效果。
关键3.ORDER by rnt DESC //rnt 是sum函数计算后的变量,按这个值的倒序desc排序将最相关匹配的内容排在最前面。
实测数据库1万4千行,耗时0.1746 秒,共 65 行,个人觉得这方法也太慢了。。。后期修改为 CASE WHEN 语句 和他match against 全文索引期待效果更好。
参考:
多关键字查询并根据匹配程度排序
https://blog.csdn.net/prstaxy/article/details/9164837
mysql数据库中group by和sum一起使用语句的简单介绍 .
https://www.cnblogs.com/zhenmingliu/archive/2012/04/19/2457444.html
还有另一种方法,不过这种方法太过精准了(全文索引操作符)
https://www.cnblogs.com/devcjq/articles/6340111.html
经实战学习以后得出个人总结:select....from 前面是计算,from..... 后面是范围。意思是在这个范围内计算。
mysql排序加权_mysql多关键词查询相关匹配加权排序相关推荐
- sql server如何输出排序序号_Group by中子查询order by排序失效问题分析
通过sql分组查询数据时,一般通过group by来完成,group by默认取相同的分组列(一列或者多列)中第一个数据. 如果想获取sql分组中id最大的记录,我们可能想到的sql如下(name列作 ...
- mysql的查询排序规则_mysql 如何查看数据库字符集和排序规则
查看数据库编码 (即字符集) show create database 数据库名; 查看数据表编码 (即字符集) show create table user 查看数据表全部字段排序规则 (即utf8 ...
- mysql 索引计划_Mysql索引、查询计划、优化方向
索引 Innodb索引(聚集索引)(聚簇表分布) Innodb是索引组织表,其结构是B+Tree.其表索引结构是聚簇表分布. 其叶子节点保存了Key+Row Data(聚集索引,按主键排序),其Key ...
- mysql排重_mysql 排重查询
GROUP BY 语句可以实现某一列的去重查询. 直接上语句: select io_dev_id from io_info where (TID=1 AND host_name='yang1') GR ...
- mysql score表_MySQL连表查询练习题
建库 库名:linux50 字符集:utf8 校验规则:utf8_general_ci mysql> create database if not exists linux5 charset u ...
- mysql复数记录_mysql 数据库设计查询规范
(一)建表规约 1.[强制]表达是与否概念的字段,必须使用is_xxx的方式命名,数据类型是unsignedtinyint(1表示是,0表示否) .说明:任何字段如果为非负数,必须是unsigned. ...
- mysql course表_MySQL多表查询初探
今天是我时隔五年再次动起键盘写文章,距离我上一次写文章,初中作文......所以我的文章并没有雕章琢句,更不会惊天地泣鬼神,只要大家能学到知识,我就很开心了.呀丫丫......又开始罗嗦一大堆没用的了 ...
- mysql select表达式_MySQL数据库SELECT查询表达式解析
数据的管理在很大一部分是在进行查找工作,而SELECT占据了很大的一部分 SELECT select_expr [,select_expr...] [ FROM table_reference WHE ...
- mysql存储树结构_mysql 树形结构查询(存储过程)
就用数据数据库表地址数据(中国地区) 来说吧(用Windows 请使用 gbk !!) 可直接运行(去除注解) 存储过程: DELIMITER//dropprocedureifexistsfindLC ...
最新文章
- Linux下查看Nginx,tomcat等的并发连接数和连接状态
- 区块链c端应用小程序_区块链如何真正起作用? 我建立了一个应用程序向您展示。...
- 关于eigrp-FSM有限状态机的资料
- ssh实现基于密钥方式登录系统
- 英语语法---单词总结
- JS Array filter()方法
- 物联网网关linux带串口,物联网网关|串口转HTTP GET协议
- 项目学生:带有Jersey的Web服务客户端
- 数据分析工具篇——数据读写
- 服务器系统server 2008,windows server 2008 R2 操作系统
- MySQL数据步骤管控_数据管理的发展过程分为哪三个阶段
- 神州租车:陆正耀辞任公司董事会主席及非执行董事职务
- 【数据结构----笔记4】插入排序算法之【折半插入排序算法】
- 离开Autodesk,开启新篇章
- java jws-_java JWS 应用及实践
- JSP系列一:JSP简介
- EeePC 901换装Windows XP的步骤
- 数字的大写字母的乱序整理
- 百度地图测距 java_java 百度地图判断两点距离1
- Java 多线程 | 并发知识问答总结
热门文章
- ClassCastException:AdaptiveIconDrawable cannot be cast to BitmapDrawable
- python 生成pdf_如何使用Python生成PDF?
- c 自定义实现string类 clear_CC++语言15|类的继承和派生实现代码重用、扩充
- 如何查看Linux版本号(内核版本号和发行版本号)
- 【转】BASE64编码规则
- 第五节:泛型(泛型类、接口、方法、委托、泛型约束、泛型缓存、逆变和协变)
- ABP入门系列(17)——使用ABP集成的邮件系统发送邮件
- 在Sharepoint 2010中使用ReportViewer控件展示RDLC报表
- vs c语言 多线程demo,一个多线程的Socket通信Demo(C语言实现)
- 用姓名字段统计人数_基于 Wide amp; Deep 网络和 TextCNN 的敏感字段识别