वर्तमान में, मैं एक खोज फ़ंक्शन कर रहा हूं। मेरी डेटाबेस में कहते हैं कि चलो, मैं इस डेटा है:MySQL में समानता से मिलान और क्रमबद्ध कैसे करें?
- KEYWORD1
- KEYWORD2
- KEYWORD3
- Keysomething
- कुंजी
और उपयोगकर्ता द्वारा दर्ज किया: "कुंजी" के रूप में खोजने के लिए खोजशब्द।
मैं कैसे (द्वारा क्रम) तरह से कर समानता:
SELECT * FROM data WHERE ( data_string LIKE '$key%' OR data_string LIKE '%$key%' OR data_string LIKE '%$key' )
असल में, मैं 2 प्रश्न हैं: यह मेरा वर्तमान क्वेरी है। उपर्युक्त उदाहरण से, मैं अपने पहले परिणाम के रूप में "कुंजी" चाहता था। मेरा वर्तमान परिणाम है: कीवर्ड 1, कीवर्ड 2, कीवर्ड 3, कीसमू और कुंजी
मेरा SQL क्वेरी केवल "data_string" कॉलम द्वारा खोजा गया है, तो क्या होगा यदि मैं अन्य कॉलम को सीट करना चाहता हूं? मैं कुछ इस तरह करने की जरूरत है:
SELECT * FROM data WHERE (
data_string LIKE '$key%' OR
data_string LIKE '%$key%' OR
data_string LIKE '%$key'
) OR (
data_other LIKE '$key%' OR
data_other LIKE '%$key%' OR
data_other LIKE '%$key'
) -- ...
वहाँ Q2 से किसी भी बेहतर/तेजी से क्वेरी है?