है कि हम खोज का उपयोग कर कीवर्ड का प्रदर्शन मान: KEYWORD1, KEYWORD2, KEYWORD3माइस्क्ल: जैसे आदेश?
वहाँ स्तंभ "नाम" के साथ डेटाबेस में रिकॉर्ड कर रहे हैं:
1: John Doe 2: Samuel Doe 3: John Smith 4: Anna Smith
अब प्रश्न:
SELECT * FROM users WHERE (name LIKE "%John%" OR name LIKE "%Doe%")
कहीं भी होगी रिकॉर्ड्स का चयन करें: 1,2,3 (इस क्रम में) लेकिन मैं इसे द्वारा क्रमबद्ध करना चाहता हूं उदाहरण में keyword1=John, keyword2=Doe
इसलिए इसे कीवर्ड द्वारा सूचीबद्ध किया जाना चाहिए: 1,3,2 (क्योंकि मैं "जॉन" की खोज के बाद "डो" के लिए खोज करना चाहता हूं)
मैं SELECT DISTINCT FROM (...... UNION .....)
के बारे में सोच रहा था लेकिन किसी अन्य तरीके से इसे किसी भी तरह से ऑर्डर करना बहुत आसान होगा (असली क्वेरी है वास्तव में लंबा)
क्या ऐसे आदेश बनाने के लिए कोई चाल है?
हाँ, कि काम करता है, धन्यवाद :) – dfens
एक और बात - अगर मैं यह समझ ठीक से हर तरह निष्पादित किया जाएगा पूरे क्वेरी में 2 बार? – dfens
@dfens: मुझे लगता है कि 'ORDER BY' खंड में 'LIKE' केवल' WHERE 'खंड से मेल खाने वाले डेटा पर निष्पादित होगा, इसलिए तेज़ होना चाहिए। – RedFilter