假設我們正在執行使用搜索關鍵詞:關鍵詞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