मैं उन रिकॉर्ड्स की खोज करना चाहता हूं जहां कोई विशेष फ़ील्ड या तो कुछ स्ट्रिंग के साथ शुरू होता है (मान लें "ar") या उस फ़ील्ड में स्ट्रिंग, "ar" शामिल है।एसक्यूएल कथन के WHERE खंड में भारित स्थितियां
हालांकि, मैं दो स्थितियों को अलग मानता हूं, क्योंकि मैं 10 में वापस आने वाले परिणामों की संख्या सीमित कर रहा हूं और मैं चाहता हूं कि स्थिति को स्थिति के मुकाबले ज्यादा भारित किया जाए।
उदाहरण:
SELECT *
FROM Employees
WHERE Name LIKE 'ar%' OR Name LIKE '%ar%'
LIMIT 10
पकड़ कि है कि यदि ऐसे नाम हैं जो "ए आर" वे इष्ट किया जाना चाहिए के साथ शुरू कर रहे हैं। एकमात्र तरीका मुझे उस नाम को वापस लेना चाहिए जो केवल "ar" होता है, यदि 10 से कम नाम हैं जो "ar"
मैं एक MySQL डेटाबेस के विरुद्ध कैसे कर सकता हूं?
+1। सहमत है, यह अधिक कुशल है। – mellamokb
यह मेरे लिए काम करता प्रतीत होता है। क्या आप इसे बिल्कुल समझा सकते हैं?मैं समझता हूं (आम तौर पर बोल रहा हूं) संघ का क्या अर्थ है। एक्स और वाई क्या हैं और 1, 2, क्या है? –
@ स्टीफन - एक्स और वाई उप-सामानों को दिए गए उपनाम हैं (प्रत्येक व्युत्पन्न तालिका को एलियाड किया जाना चाहिए - ताकि यदि आवश्यक हो तो उन्हें संदर्भित किया जा सकता है)। आप किसी भी परिणाम सेट में कॉलम जोड़ सकते हैं, केवल कॉलम और नामकरण (एलियासिंग) कॉलम देकर। इस मामले में, मैंने पहले भाग में 1 के मान के साथ "पसंदीदा" नामक एक कॉलम जोड़ा, और दूसरे भाग में 2 का मान जोड़ा। कॉलम अब परिणाम का हिस्सा है (क्वेरी आउट के लिए)। – RichardTheKiwi