मैं एक ही पंक्ति में पंक्ति के दो स्तंभों में सबसे कम संख्या को खोजने की कोशिश कर रहा हूं, चेतावनी के साथ कि कॉलम में से कोई एक विशेष पंक्ति में शून्य हो सकता है। यदि कॉलम में से कोई एक शून्य है, तो मैं चाहता हूं कि उस पंक्ति के लिए दूसरे कॉलम में मान लौटाया जाए, क्योंकि यह इस मामले में सबसे कम गैर-शून्य स्तंभ है। अगर मैं कम से कम() फ़ंक्शन का उपयोग MySQL 5.1:एसक्यूएल में एक विशेष पंक्ति में कम से कम गैर-शून्य कॉलम कैसे खोजें?
select least(1,null)
यह शून्य देता है, जो मैं नहीं चाहता हूं। मुझे इस मामले में 1 लौटने के लिए पूछताछ की आवश्यकता है।
मैं परिणाम मैं इस प्रश्न के साथ सामान्य रूप में चाहते कर लिया है:
select least(coalesce(col1, col2)) , coalesce(col2,col1))
जब तक col1 के रूप में और col2 हैं दोनों नहीं अशक्त प्रत्येक सम्मिलित बयान एक नंबर वापस आ जाएगी, और कम से कम () सबसे कम खोजने के लिए हैंडल।
क्या ऐसा करने का एक आसान/तेज़ तरीका है? मैं इस उदाहरण में MySQL का उपयोग कर रहा हूं लेकिन सामान्य समाधान का स्वागत है।
तेजी से? क्या आपने इसे धीमा करने के लिए निर्धारित किया है? –
ने इसे धीमा होने के लिए तय नहीं किया है, लेकिन यह संभवतः एक के बजाय 3 कार्यों को बुला रहा है। मैं इसे एक प्रश्न के खंड द्वारा क्रम में उपयोग कर रहा हूं, जितनी जल्दी हो सके मुझे जितनी जल्दी हो सके। –