表名:Post
字段:ID(int), Title(varchar(100)), Content(text)在这个Post表中,每条记录都记有某文章的标题和内容.现在,我想要在Content字段中检索某个关键字的出现数量,比如"爱情", 那么这个表就以Content所含关键字的数量来降序排序.
甚至,我还想同时在Content字段中检索两个以上的关键字的出现的总数量,比如"爱情 友情", 那么这个表就以这个总数量来排序.
请问怎么写这样的SQL?

解决方案 »

  1.   

    用REPLACE试试
    len(Content)-
    len(trim(REPLACE(Content', '爱情', '')))两个以上用多个REPLACE
    len(Content)-
    len(trim(REPLACE(Content', '爱情', '')))-len(trim(REPLACE(Content', '友情', '')))
      

  2.   

    select * from tt order by len(Content)-
    len(trim(REPLACE(Content', '爱情', ''))) 
    or
    select * from tt order by len(Content)-
    len(trim(REPLACE(Content', '爱情', '')))-len(trim(REPLACE(Content', '友情', '')))
      

  3.   

    在WWWA的大力帮助下,问题已经解决了! 
    非常感谢WWWA!