List<Employee> empList = new List<Employee>();
empList.AddRange(new Employee[]
{
new Employee {EmpId =1, DeptId=1, Position="Director", Salary=100 },
new Employee {EmpId =2, DeptId=1, Position="Director", Salary = 120},
new Employee {EmpId =3, DeptId=1, Position="Software Engineer", Salary=50 },
new Employee {EmpId =4, DeptId=2, Position="Director", Salary=90 },
new Employee {EmpId =5, DeptId=2, Position="Director", Salary=100 },
new Employee {EmpId =6, DeptId=3, Position="HR Assistant", Salary=40 },
new Employee {EmpId =7, DeptId=3, Position="HR Manager", Salary=70},
new Employee {EmpId =8, DeptId=4, Position="IT Manager", Salary=85 },
new Employee {EmpId =8, DeptId=4, Position="IT Assistant", Salary=40 }
});
/*
* The highest salary from the each dept per position
*/
empList.GroupBy(_ => new { _.DeptId, _.Position })
.Select(_ => new
{
MaximumSalary = _.Max(deptPositionGroup => deptPositionGroup.Salary),
DepartmentId = _.Key.DeptId,
Position = _.Key.Position
}).ToList()
.ForEach(selectedRecords =>
{
Console.WriteLine("{0} {1} {2}", selectedRecords.DepartmentId, selectedRecords.Position, selectedRecords.MaximumSalary);
});
/*Average salary from each dept per position */
Console.WriteLine();
Console.WriteLine();
Console.WriteLine();
empList.GroupBy(_ => new { _.DeptId, _.Position })
.Select(_ => new
{
AverageSalary = _.Average(deptPositionGroup => deptPositionGroup.Salary),
DepartmentId = _.Key.DeptId,
Position = _.Key.Position
}).ToList()
.ForEach(selectedRecords =>
{
Console.WriteLine("{0} {1} {2}", selectedRecords.DepartmentId, selectedRecords.Position, selectedRecords.AverageSalary);
});
Console.WriteLine();
Console.WriteLine();
Console.WriteLine();
/*Average salary from each dept */
empList.GroupBy(_ => _.DeptId)
.Select(_ => new
{
AverageSalary = _.Average(deptPositionGroup => deptPositionGroup.Salary),
DepartmentId = _.Key,
}).ToList()
.ForEach(selectedRecords =>
{
Console.WriteLine("{0} {1}", selectedRecords.DepartmentId, selectedRecords.AverageSalary);
});
This blog contains information related to .Net programs, Dynamics & many more...
Wednesday, December 26, 2012
Linq GroupBy with Aggregate functions
Subscribe to:
Post Comments (Atom)
dịch vụ rà soát sổ sách
ReplyDeletedịch vụ kế toán giá rẻ eco green city
trung tâm kế toán tại hải phòng
khoá học kế toán tổng hợp
trung tâm kế toán tại long biên
trung tâm kế toán tại hà đông
dịch vụ báo cáo tài chính
dịch vụ kế toán thuế chiến!" Bội kì hôm nay thay thế vị trí của Khai La, tiếp nhận vị trí
Cuồng ngưu Sư đoàn trưởng,
"Thiếu gia, Lang kị chúng ta cũng xin Ngài được ra ứng chiến!"
"Thiếu gia, chúng ta ..."
Đoạn Vân trợn tròn mắt: hắn không ngờ tất cả đều là một lũ cuồng chiến
tranh! Mọi người khác nghe đến chiến tranh đều e sợ né tránh vậy mà bọn
hắn đều muốn đi trước tiên!
Đoạn Vân phẩy tay ra hiệu giữ trật tự, đi đến bản đồ trong Hội nghị thất
nói: " Ta không thể phái toàn bộ các ngươi ra ngoài, dù sao trong nhà
cũng cần phải có bộ đội trấn giữ! Trước tiên ta giới thiệu một chút tình
huống lần này! Đầu tiên có mười vạn Man Tộc ở phía Tây của Bố Lôi Tây
Cao Nguyên, có một người là Mã Tề, một Thiên Long biên quan áp cảnh, các
ngươi hãy xem bản đồ này, cũng tại nơi này còn có Tạp Tu Tư, Lôi Ngạo và
còn có thêm Thiên Long ba nước cũng đóng lại biên giới, chỗ này gọi là
Lạc Nhật Hạp Cốc, tổng cộng có năm mươi vạn Lôi Ngạo quân đội và hai
mươi vạn quân của Tạp Tu Tư! Hơn nữa, còn có mười cửu cấp Cự long bố trí
tại chỗ này!"
eco green city
goldmark city hồ tùng mậu
chung cư 89 phùng hưng
tiếng anh giao tiếp cho trẻ em