长城物业工程人员服装:SQL里多关键词查询如何把匹配得最多的列在最前面?

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/28 13:33:18
比方有个表TABLE1,里面有个字段是Z,记录1:ABCD,记录2:ACD,记录3:BC,记录4:A
现在我要查询Z中包含有A或者B或者C的记录:
select Z from TABLE1 where Z like '%A%' or Z like '%B%' or Z like '%C%'。其中记录1匹配3个,记录2匹配2个,记录3匹配2个,记录4匹配1个。怎么才能产生的排序是按匹配的多少排列的?
这样的存储过程该怎么写?如果采用存储过程,记录很多的话会不会很慢?

楼上的好像不行吧,你那样是按照记录本身来排序。我理解楼主的意思是这样的:假如记录x匹配y个,那么楼主是想按照y的大小来排序记录,而并不是按照记录本身来排序。
单纯的sql语句实现不了这样的结果,要用到存储过程了,不知道楼主能不能接受,呵呵