我觉得这样是不是应该用临时表来存这个关健字!然分在group by 关健字!
解决方案 »
- apache rewrite规则 跪求大神救命啊
- preg_match 匹配mac地址
- Cookie出现乱码?
- linux 下的 php 无法装入 mysql 扩展?如何设置?
- 将另一个数据库中的数据拷贝到本数据库
- 数据添加不进去 ,,为什么..
- sos 请教各位大侠一个问题
- PHP如何开发?
- php怎样包含远程web服务器上的文件?
- php能否根据mysql服务器是否有锁表来动态的分配数据库(3台mysql服务器)
- 讨论并请教一个搜索功能,用户输入一个或一组关键字,怎么样将越接近的结果显示在越上面。即搜索结果相关性排序。
- 请教高手指点PHP 5 session 和cookie 生命周期问题?
和group by title 一样的,保障了新闻标题的不重复现在的需求是,按照关键字来查询的例如
多哈亚运会开幕式精彩纷呈 大制作显四大特色
多哈亚运会开幕式因突然下雨有三大意外
首金之惑:亚运首金赛程一波三折 男枪手担重任这三条新闻标题都有亚运或者多哈,但没有体操,希望显示为
xxxx亚运xx多哈xxxxxx体操
xxxxx多哈xxxx亚运xx体操
xx体操xxxxxxxxxxxxxx就是安给定的关键词来排序
这样吧
每个关键字显示1条,显示过的不再显示
结果例如
xxxx亚运xxxx
xxxxx多哈xxxx
xx体操xxxxxxxxxxxxxx
where title like '%亚运%' || title like '%多哈%' || title like '%体操%'
group by title
order by id desc
limit 3只能用UNION了。
有点不清楚.
如果有重复,说明有一个新闻包含两个词, 比如亚运和多哈
那么你要再补一条,是补一个'亚运'还是'多哈'呢?还是任意?
如果要根据关键词出现数排序,
只要
select (LOCATE('亚运',title)>0) + (LOCATE('多哈',title)>0)+(LOCATE('体操',title)>0) as flag, title, ....
from .... where ...
order by flag