search - MySQL - How to ORDER BY RELEVANCE? INNODB Table -


मेरे पास INNODB तालिका में 'कार्ड' नामक लगभग 20,000 पंक्तियाँ हैं, इसलिए FULLTEXT एक विकल्प नहीं है।

कृपया इस तालिका पर विचार करें:

  आईडी | नाम | विवरण ------------------------------------------------- --------- 1 जॉन स्मिथ बस कुछ दोस्त 2 टेड जॉनसन एक और दोस्त 3 जॉनथन टॉड इस आदमी को भी 4 सुसान स्मिथ भी 5 सैम जॉन बॉन्ड और उन्हें 6 जॉन स्मिथ नंबर 1 के रूप में एक ही आदमी, एक और रिकॉर्ड 7 जॉन एडम्स आखिरी आदमी, वादा  

तो, कहें उपयोगकर्ता 'जॉन' की खोज करता है, मैं चाहता हूं कि परिणाम इसके क्रम में हो:

  7 जॉन एडम्स 6 जॉन स्मिथ 3 जॉनथन टॉड 5 सैम जॉन बॉन्ड 2 टेड जॉनसन  

कृपया ध्यान दें कि हमने केवल 'जॉन स्मिथ' को खींच लिया है, हमने अपना सबसे हालिया प्रविष्टि लिया है मेरे डेटा के कारण, सभी नाम एक ही सटीक व्यक्ति के लिए हैं, जॉन स्मिथ नामित 2 अलग-अलग लोगों के बारे में चिंता करने की कोई जरूरत नहीं है विचार? मुझे पता है कि मैं कुछ भी स्पष्ट कर सकता हूं।

संस्करण 1:

  SELECT max (id) आईडी, नामों से नाम जहां '% John%' ग्रुप नाम से नाम का नाम है, जब 'जॉन%' नाम का नाम होगा, तब जब 'जॉन%' की तरह नाम तब 1 जब '% John%' नाम का नाम तब 2 ELSE 3 END, नाम  

संस्करण 2:

  SELECT max (id ) आईडी, नाम से नाम जहां नाम '% John%' नाम से ग्रुप द्वारा नाम का आदेश दिया गया था जब 'जॉन%' नाम का नाम तब था जब '%% जॉन%%' जैसा नाम तब 1 था जब '% John' की तरह नाम तब 2 ELSE 3 END, नाम  

Comments

Popular posts from this blog

ios - Form Sheet content disappearing -

MySql variables and php -

php - Laravel - Overriding a resource route into a different route filter group -