2013-04-18 82 views
0

我用一個簡單的我-SQL LIKE查詢...我的專欄的記錄是「強有力的,真正的,陷阱地帶」等。取記錄在像查詢

"SELECT * FROM table WHERE name LIKE '%tr%'". 

像這樣。我只是想根據其發生的位置獲取記錄。像陷阱一樣,真實,脫衣舞,強壯。是否可以根據like中的出現來操作查詢。

+2

發生了什麼你的意思是? – 2013-04-18 06:04:38

+2

你可以發佈一些示例數據和期望的輸出嗎?因爲從現在起,這絕對沒有意義。 – Scotch 2013-04-18 06:11:35

+1

我想你想按字母順序顯示結果 – 2013-04-18 06:16:07

回答

1

你的意思是根據搜索字符串的位置排序結果嗎?例如:

SELECT * FROM table WHERE name LIKE '%tr%' ORDER BY LOCATE('tr', name) ASC 
+0

它會在服務器上產生多少命中?它會比其他人慢嗎? – Sankalp 2013-04-18 06:20:44

+1

我不認爲它會比查詢的LIKE部分更加密集。此外,LOCATE函數只適用於匹配結果,所以它不應該是壞的。 – 2013-04-18 06:25:12

+0

你能給我[MySQL文檔在本地()引用到MySQL – Sankalp 2013-04-18 09:07:42

2

試試這個......並根據你的記錄。

SELECT * FROM table WHERE name LIKE '%tr%' ORDER BY LOCATE('tr', name),name ASC