www.dbpj.net > SQL里多关键词查询如何把匹配得最多的列在最前面

SQL里多关键词查询如何把匹配得最多的列在最前面

楼主,我懂你的意思,你的意思是,两个表关联,把匹配到的记录数量最多的放在最上面显示,按照数量依次排列,对吧?其实单单从关联的角度来说是做不到的,需要用函数来计算并且分布条数结果,然后在根据这个结果排序才能达到.举个例子,供您参考,现在有销售人员和区域两张表,我们查询的结果是想按区域的人数来排名所有的详细信息,假设两个表的关联条件为区域ID,则代码如下:select * from (select *,count(*) over (partition by a.区域ID) as mycount from 销售人员 ajoin 区域 b on a.区域ID=b.区域ID) a order by mycount desc

楼上的好像不行吧,你那样是按照记录本身来排序.我理解楼主的意思是这样的:假如记录x匹配y个,那么楼主是想按照y的大小来排序记录,而并不是按照记录本身来排序.单纯的sql语句实现不了这样的结果,要用到存储过程了,不知道楼主能不能接受,呵呵

ALTER TABLE `user` ADD COLUMN `firstname` VARCHAR(255) NULL DEFAULT NULL AFTER `name`;使用after关键字,可以指明加在哪个字段后.

select * from one where name like '李%' and number =159 and address like '广东省%' and interesting like '%游泳%'

select * from table1 where concat(`字段`,`字段`,`字段` ) like '%关键字%' unionselect * from table2 where concat(`字段`,`字段`,`字段` ) like '%关键字%' unionselect * from table3 where concat(`字段`,`字段`,`字段` ) like '%关键字%'

select 字段1,字段2from 表group by left('三星应用社区全新呈现',charindex('新','三星应用社区全新呈现')-1)where charindex('新','三星应用社区全新呈现')>=0

select * from table where 你的字段 like '%字段1%字段2%'

UPDATE m_data SET m_type = '1' WHERE (m_name LIKE '%食品%') 加上条件就行了~~

用rownum,要先排序 select * from (select * from 表 where 模糊查询条件 order by 某个字段) where rownum <= 10

若您的文件不是很多的话,可以选择每个文件复制到文本文档里面,再根据CTRL+F,进行查找;若您要查看的代码页面比较多的话,那就只能一个页面一个页面通过上面的方法进行查找了,想要一次性查找到所有页面所有的关键词,不现实,希望可以帮到您

相关搜索:

网站地图

All rights reserved Powered by www.dbpj.net

copyright ©right 2010-2021。
www.dbpj.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com