假设我们正在执行使用搜索关键词:关键词1,关键词,KEYWORD3Mysql:按类似命令?
有在数据库中的记录与列 “名”:
1: John Doe 2: Samuel Doe 3: John Smith 4: Anna Smith
现在查询:
SELECT * FROM users WHERE (name LIKE "%John%" OR name LIKE "%Doe%")
它会选择记录:1,2,3(按此顺序) 但我想在关键字 中订购它,例如keyword1=John, keyword2=Doe
所以应该按关键字列出: 1,3,2(因为我想搜索“约翰”后“母鹿”进行搜索)
我在想SELECT DISTINCT FROM (...... UNION .....)
但它会更容易以另一种方式在某种程度上订购吧(实际查询真的很长)
是否有任何技巧来创造这样的秩序?
是的,工作,谢谢:) – dfens 2010-08-31 12:55:45
还有一件事 - 如果我理解正确,每个LIKE将在整个查询中执行2次? – dfens 2010-08-31 13:05:10
@dfens:我猜'ORDER BY'子句中的'LIKE'只会对'WHERE'子句匹配的数据执行,所以应该更快。 – RedFilter 2010-08-31 13:55:02