新手问下SQ搜索排列问题

wunsian 发布于 2012/11/26 10:05
阅读 71
收藏 0

select m_name from data where m_recycle=0 AND (m_name like '%中%' OR m_name like '%国%' OR m_name like '%人%'  OR m_name like '%民%')

这样出来的结果  都包含了这4个字,但是结果很乱,本来数据里就有“中国人民”,但是都不知道排到哪去了,怎么让结果按照满足的字越多越前面。

加载中
0
缪斯的情人
缪斯的情人
你这是用sql语句实现全文检索的功能啊!这样在大数据量情况下是非常不可取的,效率极低的一种sql查询方式,建议通过建全文索引或者用全文检索替换
0
dedenj
dedenj

select m_name,0 t from data where m_recycle=0 AND m_name  like '%中国人民%'

union 

select m_name,1 t from data where m_recycle=0 AND m_name  like '%中%' and m_name  not like '%中国人民%' 

order by t



返回顶部
顶部