台灣最大程式設計社群網站
線上人數
2132
 
會員總數:246092
討論主題:189665
歡迎您免費加入會員
討論區列表 >> MySQL >> 請問一個搜尋的問題
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
請問一個搜尋的問題
價值 : 0 QP  點閱數:938 回應數:9
樓主

小猴子
門外漢
0 0
0 0
發送站內信

是這樣的.....:P
我目前再做一個搜尋的功能 想請教前輩們...
name
-----------------------------------------
Jumanji 
Dolphins save man from shark attack
Human made poisons are killing polar bears
The great apes and mankind
A World-Wide Notorious Man
-------------------------------------------
name的欄位有上面五個值....
那如果我只要搜尋出  關鍵字為 man 
我的語法如下的話
SELECT * FROM materials where m_name like '% man%'(man 的前面空一格)可是這樣還是又問題...  因為會查出...The great apes and mankind 這行
要是我後面也空格..那A World-Wide Notorious Man 這行就查不出來了...
不知有什麼辦法克服...

感謝 :P

本篇文章發表於2003-02-28 11:37
1樓
作者回應

小猴子
檢舉此回應
發現一個豬頭...  :P
MAN 前面不能空白.
那 Man 就查不出來了 ....
所以啦 對我來是無解....啊 阿˙阿˙
本篇文章回覆於2003-02-28 12:11
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
如果你使用了
like '% man%'

那你将会以失去性能为代价,
因为 like '% man%' 语句将不会使用m_name 列的索引
强烈建议你使用全文件索引,用正则表达式来进行条件查询
本篇文章回覆於2003-03-02 11:03
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
作者回應

小猴子
檢舉此回應
可以再給一些明確的提示嗎....感謝...
本篇文章回覆於2003-03-03 14:21
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
作者回應

小猴子
檢舉此回應
請問哪裡有關於全文檢索的語法...
我手邊沒有資料 ...:P
3Q...
本篇文章回覆於2003-03-06 09:18
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
呵呵,
在 MySQL 的参考手册里就有

http://www.mysql.com/doc/en/Fulltext_Search.html
本篇文章回覆於2003-03-07 11:39
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
作者回應

小猴子
檢舉此回應
首先先感謝 犬犬(心帆)...:P

然後...我的頭有點痛說...
文章提到說 如果搜尋的KEY 少於3各字元...及字的權重於文章鍾太低者
程式會自動忽略.....
啊.....  可是3個字以下的字 也有很多是重要的ㄟ
那請問 ..像這樣要如何解決勒??
本篇文章回覆於2003-03-10 15:19
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
作者回應

小猴子
檢舉此回應
推........  有哪位前輩..知道ㄟ
本篇文章回覆於2003-03-14 15:39
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
8樓
回應

David
檢舉此回應
如果你要做出這樣的功能的話
嗯,這分成三個部分來討論:
1.Man出現在第一個位置。
(Man In Black)
Select Name From Table_Name Where Name Like 'Man %'
2.Man出現在中間。
(Young Man Is Full Of Energy)
Select Name From Table_Name Where Name Like '% Man %'
3.Man出現在後面。
(You're a Man)
Select Name From Table_Name Where Name Like '% Man'

這樣就明瞭了查詢的方式

所以再將這三個結果聯合起來輸出(Union All)

在MySQL中是這樣的
select Name From Table_Name Where Name Like '% man'
Union all 
Select Name from Table_Name where Name like '% man %'
Union all 
Select Name from Table_Name Where Name like 'man %'
;
本篇文章回覆於2003-03-29 14:18
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
9樓
回應

TieBOB
檢舉此回應
不曉得以下指令是不是你要的:

SELECT name FROM t1 WHERE name LIKE '% man %' OR name LIKE '% man';


--以上意見僅供參考--
本篇文章回覆於2003-05-22 12:03
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.