यदि केवल उन 2 कॉलम (नाम और कॉल 1) का चयन करना पर्याप्त है तो आप इसका उपयोग कर सकते हैं:
select
distinct x.name, x.col1
from table_name x
where x.col1 = 2;
या
select
x.name, x.col1
from table_name x
where x.col1 = 2
group by (x.name, x.col1);
यदि आपको सभी मूल्यों की आवश्यकता है, लेकिन आपको इस बात से कोई आपत्ति नहीं है कि आपके मानदंडों को पूरा करने वाले कई रिकॉर्डों में से कौन सा आपको मिलता है (जैसे डैन 2 2 1 या डैन 2 1 3), तो आप इसका उपयोग कर सकते हैं (यह उन रिकॉर्डों में से पहले को ऑर्डर के आधार पर रिकॉर्ड करेगा मानदंड):
select xx.name, xx.col1, xx.col2, xx.col3
from (select
x.name, x.col1, x.col2, x.col3, dense_rank() over (partition by x.name order by x.name, x.col1, x.col2, x.col3) rnk
from table_name x
where x.col1 = 2) xx
where xx.rnk = 1;