में अधिकतम मूल्य द्वारा ऑर्डर करें, मैं अपने परिणामों को एक कॉलम (NAME) द्वारा समूहित करना चाहता हूं, फिर प्रत्येक समूह के लिए दूसरे कॉलम (नोट) द्वारा ऑर्डर करना चाहता हूं, और आखिरकार समूह को उनके उच्चतम नोट द्वारा ऑर्डर करना है।समूह
तो, मेरी संस्थाओं इस तरह के तले कर रहे हैं:
NAME NOTE
Andrew 19
Thomas 18
Andrew 18
Andrew 17
Frank 16
Frank 15
Thomas 14
Thomas 12
Frank 5
मैं उन्हें चाहते हैं इस तरह का आदेश दिया जा करने के लिए:
NAME NOTE
Andrew 19
Andrew 18
Andrew 17
Thomas 18
Thomas 14
Thomas 12
Frank 16
Frank 15
Frank 5
एंड्रयू पहले प्रदर्शित होने के साथ, नाम के आधार पर वर्गीकृत क्योंकि उसके उच्चतम टिप्पणी 1 9 है, फिर थॉमस (18) और फ्रैंक (16)।
select name, note
from (select t.*, max(note) over (partition by name) as maxnote
from t
) t
order by maxnote desc, name
maxnote द्वारा आदेश देने के अलावा, यह भी नाम से आदेश:
सादर,
वैल
+1 आप by' 'आदेश afer एक उपनाम का उल्लेख कर सकते हैं, इसलिए सबक्वेरी – Andomar
की कोई आवश्यकता नहीं @Andomar। । । अगर इसे इस तरह लिखा गया था, तो आउटपुट में 'maxnote' होना होगा। –
@ गॉर्डन लिनॉफ नाइस, ऑर्डर में अधिकतम नोट इसके बाद 'desc' होना चाहिए, लेकिन अच्छा समाधान होना चाहिए। –