DISTINCT उस तरह से काम नहीं करता है, मान लौटाए जा रहे सभी स्तंभों में अलग-अलग होने चाहिए।
आप हमेशा हैश . पर एक समग्र फ़ंक्शन का उपयोग कर सकते हैं फ़ंक्शन और नाम से समूह जो एक हैश return लौटाएगा प्रत्येक नाम . के लिए मान :
SELECT name, min(hash) hash
FROM my_table
WHERE name LIKE '%An%'
GROUP BY name;
देखें SQL Fiddle with Demo ।
नोट: GROUP BY . के साथ समग्र फ़ंक्शन का उपयोग करना यह सुनिश्चित करेगा कि आप हैश . के लिए अपेक्षित मान हमेशा लौटाएंगे कॉलम। जब आप GROUP BY नहीं करते हैं या आइटम को SELECT . में एकत्रित करें सूची, आप अप्रत्याशित परिणाम लौटा सकते हैं। (देखें /कोड>
)
MySQL डॉक्स से: