distinct title 和group by title 一样的,保障了新闻标题的不重复现在的需求是,按照关键字来查询的例如 多哈亚运会开幕式精彩纷呈 大制作显四大特色 多哈亚运会开幕式因突然下雨有三大意外 首金之惑:亚运首金赛程一波三折 男枪手担重任这三条新闻标题都有亚运或者多哈,但没有体操,希望显示为 xxxx亚运xx多哈xxxxxx体操 xxxxx多哈xxxx亚运xx体操 xx体操xxxxxxxxxxxxxx就是安给定的关键词来排序
(select * from table where title like '%亚运%' limit 1) union all (select * from table where title like '%多哈%' limit 1) union all (select * from table where title like '%体操%' limit 1)
Select * from table where title like '%亚运%' || title like '%多哈%' || title like '%体操%' group by title order by id desc limit 3只能用UNION了。
union 如果搜索出来的内容有重复被剔除后内容又不足三条了郁闷啊,是不是这个需求很不合理的?-------------------- 有点不清楚. 如果有重复,说明有一个新闻包含两个词, 比如亚运和多哈 那么你要再补一条,是补一个'亚运'还是'多哈'呢?还是任意? 如果要根据关键词出现数排序, 只要 select (LOCATE('亚运',title)>0) + (LOCATE('多哈',title)>0)+(LOCATE('体操',title)>0) as flag, title, .... from .... where ... order by flag
和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