我觉得这样是不是应该用临时表来存这个关健字!然分在group by 关健字!

解决方案 »

  1.   

    distinct title
    和group by title 一样的,保障了新闻标题的不重复现在的需求是,按照关键字来查询的例如
    多哈亚运会开幕式精彩纷呈 大制作显四大特色
    多哈亚运会开幕式因突然下雨有三大意外
    首金之惑:亚运首金赛程一波三折 男枪手担重任这三条新闻标题都有亚运或者多哈,但没有体操,希望显示为
    xxxx亚运xx多哈xxxxxx体操
    xxxxx多哈xxxx亚运xx体操
    xx体操xxxxxxxxxxxxxx就是安给定的关键词来排序
      

  2.   

    (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)
      

  3.   

    呵呵,我都晕了
    这样吧
    每个关键字显示1条,显示过的不再显示
    结果例如
    xxxx亚运xxxx
    xxxxx多哈xxxx
    xx体操xxxxxxxxxxxxxx
      

  4.   

    distinct title不行,因为可能出现关键字相同标题不同的记录应该使用union
      

  5.   

    union 如果搜索出来的内容有重复被剔除后内容又不足三条了郁闷啊,是不是这个需求很不合理的?
      

  6.   

    Select * from table
    where title like '%亚运%' || title like '%多哈%' || title like '%体操%'
    group by title
    order by id desc
    limit 3只能用UNION了。
      

  7.   

    union 如果搜索出来的内容有重复被剔除后内容又不足三条了郁闷啊,是不是这个需求很不合理的?--------------------
    有点不清楚.
    如果有重复,说明有一个新闻包含两个词, 比如亚运和多哈
    那么你要再补一条,是补一个'亚运'还是'多哈'呢?还是任意?
    如果要根据关键词出现数排序,
    只要
    select (LOCATE('亚运',title)>0) + (LOCATE('多哈',title)>0)+(LOCATE('体操',title)>0) as flag, title, .... 
    from .... where ...
    order by flag