【发布时间】:2011-11-26 19:38:41
【问题描述】:
我有一个与此问题类似的问题
MySQL - How to ORDER BY RELEVANCE? INNODB Table
不同的是,这里我要从5个字段中搜索为
add1、add2、add3、post_town、post_code
并且只有 post_code 字段中的记录不会为空,其他字段的记录在某些地方可能为空。如果我搜索关键字 kingston,它会返回
Acre Road, Kingston upon Thames, KT2 6EA
Kingston Road, Epsom, KT19 0DG
Kingston Road, Epsom, KT20 0DH
这些结果是所有字段的组合add1、add2、add3、post_town、post_code
我需要这个结果按照以下顺序
Kingston Road, Epsom, KT19 0DG
Kingston Road, Epsom, KT20 0DH
Acre Road, Kingston upon Thames, KT2 6EA
我当前的 SQL 查询是这样的
SELECT add1, add2, add3, post_town, post_code FROM address_mst
WHERE add1 LIKE '%".$keyword."%'
OR add2 LIKE '%".$keyword."%'
OR add3 LIKE '%".$keyword."%'
OR post_town LIKE '%".$keyword."%'
OR post_code LIKE '%".$keyword."%'
所以我需要以搜索关键字开头的记录将首先出现。我该怎么做?
【问题讨论】: