यह क्वेरी करेगी अद्वितीय status_id लौटाएं, लेकिन केवल तभी जब उन status_id और उनमें से प्रत्येक अन्य फ़ील्ड का संयोजन अद्वितीय भी हो। आप अद्वितीय status_id का चयन कर सकते हैं, लेकिन यदि प्रत्येक status_id के लिए एक से अधिक संयोजन हैं, तो आप अन्य फ़ील्ड के सभी मान वापस नहीं कर सकते।
[संपादित करें]
यदि आप प्रत्येक स्थिति के लिए केवल पहला रिकॉर्ड चाहते हैं:
select
status_id, schedule_id, cassay_id, time_of_day, days, notify_to_addresses, active
from
(select
row_number() over (partition by status_id order by 1) as number,
status_id, schedule_id, cassay_id, time_of_day, days, notify_to_addresses, active
FROM ordertest)
where
number = 1
row_number
. के बजाय , dense_rank
और rank
विभिन्न प्रकार के नंबरिंग के लिए भी उपयोग किया जाता है, लेकिन इस मामले में आप वास्तव में एक ही पंक्ति चाहते हैं, और row_number पर्याप्त होगा।
सुनिश्चित नहीं हैं order by
अनिवार्य है। यदि नहीं, तो आप इसे छोड़ सकते हैं। यदि ऐसा है, तो आप एक डमी मान निर्दिष्ट कर सकते हैं या एक विशिष्ट फ़ील्ड निर्दिष्ट कर सकते हैं जिसे आप 'पहली पंक्ति' के रूप में उपयोग करना चाहते हैं। उदाहरण के लिए, order by schedule_id
में तेजी लाएं प्रत्येक status_id के लिए न्यूनतम शेड्यूल_आईडी वापस करने के लिए।