c# 3.0 - Get the second highest salary of the employees using LINQ -


मेरे पास निम्न इकाई है

  सार्वजनिक वर्ग कर्मचारी {सार्वजनिक इंट एम्प्लियरआईडी {प्राप्त; सेट; } सार्वजनिक स्ट्रिंग कर्मचारी का नाम {get; सेट; } सार्वजनिक स्ट्रिंग विभाग {get; सेट; } सार्वजनिक लंबी वेतन {प्राप्त; सेट; }}  

मैं LINQ का उपयोग करते हुए हर व्यक्ति के विभाग के कर्मचारियों के लिए दूसरा सबसे बड़ा वेतन प्राप्त करने का प्रयास कर रहा हूं।

अब तक यह मैंने किया है

  var query = (कर्मचारी द्वारा आदेश में emp.Salary में emp.Department द्वारा समूह emp। नए जीआई का चयन करें। आईडी = जी। चयन करें (i = & gt; i.EmployeeID), sal = g । चुनें (एस = & gt; s.Salary), नाम = जी। सेलेक्ट (n = & gt; n.EmployeeName), dept = g.Select (d = & gt; डी। डिपार्टमेंट)}) .छोड़ (1) .सूची ();  

लेकिन यह क्वेरी काम नहीं कर रही है।

उदाहरण

मान लें कि मेरे पास

  कर्मचारी = 1 , कर्मचारी नाम = "ए", विभाग = "विभाग 1", वेतन = 10000 कर्मचारी = 2, कर्मचारी नाम = "बी", विभाग = "विभाग 1", वेतन = 20000 कर्मचारी = 3, कर्मचारी का नाम = "सी" विभाग = "विभाग 1" वेतन = 20000 कर्मचारी = 4, कर्मचारी नाम = "डी", विभाग = "विभाग 1", वेतन = 30000 कर्मचारी = 5, कर्मचारी नाम = "ए 1", विभाग = "विभाग 2", वेतन = 12000 कर्मचारी = 6, कर्मचारी नाम = "बी 1" , विभाग = "विभाग 2", वेतन = 4500  

अपेक्षित उत्पादन होगा

  कर्मचारी = 2, कर्मचारी नाम = "बी", विभाग = "विभाग 1 वेतन = 20000 कर्मचारी = 3, कर्मचारी नाम = "सी" विभाग = "विभाग 1", वेतन = 20000 कर्मचारी = 6, कर्मचारी का नाम = "बी 1", विभाग = "विभाग 2", वेतन = 4500  

परिणाम सेट में

सी # 3.0 और डॉटनेट फ्रेमवर्क 3.5 का प्रयोग

<पी > निश्चित नहीं है कि आपका वांछित व्यवहार क्या है, इसलिए ये दो वे हैं Rsions।

  // emp.Department द्वारा कर्मचारी समूह emp में emp से second person's salary var q = के साथ लोगों का चयन करें वेतन वेतन = जी। ऑर्डरबाईडेसेंडिंग (ई = & gt; ई। सलारी) .छोपा (1)। पहले ()। वेतन दूसरी = जी। जहां (ई = & gt; ई। सैलरी == वेतन) दूसरे चुनाव में ईएमपी में वेतन;  


  // emp.Epp द्वारा कर्मचारी समूह emp में ईएमपी से दूसरे सबसे ऊंचे समग्र विक q = Dept.GroupBy (ई = & gt; ई। सैलरी)। ओर्डर बाय डिसेन्डींग (जी = & जी; जी। के)। स्किप (1)। सेकंड में एएमपी से पहले () एएमपी चुनें;  

Comments

Popular posts from this blog

c# - sqlDecimal to decimal clr stored procedure Unable to cast object of type 'System.Data.SqlTypes.SqlDecimal' to type 'System.IConvertible' -

Calling GetGUIThreadInfo from Outlook VBA -

Obfuscating Python code? -