25 lines
1 KiB
ObjectPascal
25 lines
1 KiB
ObjectPascal
begin
|
|
var data := |('Tyler Bennett', 'E10297', 32000, 'D101'),
|
|
('John Rappl', 'E21437', 47000, 'D050'),
|
|
('George Woltman', 'E00127', 53500, 'D101'),
|
|
('Adam Smith', 'E63535', 18000, 'D202'),
|
|
('Claire Buckman', 'E39876', 27800, 'D202'),
|
|
('David McClellan', 'E04242', 41500, 'D101'),
|
|
('Rich Holcomb', 'E01234', 49500, 'D202'),
|
|
('Nathan Adams', 'E41298', 21900, 'D050'),
|
|
('Richard Potter', 'E43128', 15900, 'D101'),
|
|
('David Motsinger', 'E27002', 19250, 'D202'),
|
|
('Tim Sampair', 'E03033', 27000, 'D101'),
|
|
('Kim Arlich', 'E10001', 57000, 'D190'),
|
|
('Timothy Grove', 'E16398', 29900, 'D190')|;
|
|
|
|
var N := 3;
|
|
foreach var group in data.GroupBy(rec -> rec[3]).OrderBy(gr -> gr.Key) do
|
|
begin
|
|
Println('Department',group.Key);
|
|
Println($' Employee Name Employee ID Salary');
|
|
foreach var rec in group.OrderByDescending(x -> x[2]).Take(3) do
|
|
Println($' {rec[0],-18} {rec[1],-14} {rec[2]}');
|
|
Println;
|
|
end;
|
|
end.
|