एक कॉलम में मानों से समूह - mysql

मेरे पास इस डेटा के साथ एक टेबल है:

ID     Name     Color
1      Kyle     Blue
1      Susan    Orange
1      Steven   Orange
2      Susan    Blue

मैं इस तरह की एक क्वेरी का उपयोग करना चाहता हूं:

Select * from table group by ID, Top1(Name), Top1(Color)

तो मुझे ये परिणाम मिलते हैं:

ID     Name     Color
1      Kyle     Blue
2      Susan    Blue

मुझे परवाह नहीं है अगर यह काइल ब्लू, या स्टीवन ऑरेंज है जब तक कि रंग नाम से मेल खाता हो।

उत्तर:

जवाब के लिए 0 № 1

उदाहरण के लिए

SELECT x.*
FROM my_table x
JOIN (SELECT id, MIN(name) min_name FROM my_table GROUP BY id) y
ON y.id = x.id
AND y.min_name = x.name;

उत्तर № 2 के लिए -1

चुनते हैं * से ( चुनते हैं *, row_number () नाम (नाम से नाम क्रम द्वारा विभाजन) row_number के रूप में टेबल से ) पंक्तियों के रूप में जहां row_number = 1


संबंधित सवाल
सबसे लोकप्रिय