2011-02-08 25 views
7

İlk mektubu kullanarak mysql sorgularımı sipariş etmeye çalışıyorum ama kullandığım her yöntem aramamı kısıtlıyor.İlk harfe göre sql sorgusu siparişi verme

Örnek MySQL tablo Değer bilgisayar hizmetleri abc bilgisayar hizmetleri dinamik bilgisayar hizmetleri

Ben computer services ararsanız döndü için ben sonucu: Ben kullanıyorum

**Name** 
computer services 
abc computer services 
dynamic computer services 

mysql fullsearch metni, ancak name LIKE 'c%' kullanıyorsam diğer iki sonuç yok

SELECT name FROM table WHERE match('name') against('computer services*' IN BOOLEAN MODE) AND name LIKE 'c%'; 

Bu yalnızca

  • bilgisayar hizmetleri

döneceğini Ama dönmek istiyorum:

  • bilgisayar hizmetleri
  • abc bilgisayar hizmetleri
  • dinamik bilgisayar hizmetleri

Ben tüm arama metni MySQL için yeni.

+0

Tam metin aramayla ilgili fazla bir şey bilmiyorum (bu yüzden bir yorum olarak yanıtlamıyorum, bir cevap değil) ama sanırım adı LIKE'dan kurtulmayı deneyeceğim 'c%' 've ne olduğunu gör. Bu ifade sadece "c" ile başlayan şeylerle eşleşecek ve bir şey tarafından takip edilecektir. '' abc bilgisayar hizmetleri '' c' ile başlamıyor, bu yüzden seçilmemesinin nedeni budur. – FrustratedWithFormsDesigner

+0

Gönderen herkese teşekkür ederiz. İnanılmaz respone dakika içinde !!! –

cevap

2

Önce 'ile başlat' durumuyla eşleşen bir maddeye göre bir sipariş kullanın. boolean döner 0 veya 1 ve biz ilk dava ile başlar maç için bu ters istediğim için buraya not like kullanıyorum.

SELECT name 
FROM table 
WHERE match('name') against('computer services*' IN BOOLEAN MODE) 
ORDER BY name NOT LIKE 'computer services%', name; 
+0

Mükemmel teşekkür ederim –