fork download
  1. using System;
  2. using System.Linq;
  3.  
  4. public class Program
  5. {
  6. public static void Main()
  7. {
  8. var table = new[] {
  9. new { id = 1, val = 6, sym = 'ф' },
  10. new { id = 1, val = 7, sym = 'ы' },
  11. new { id = 2, val = 9, sym = 'в' },
  12. new { id = 2, val = 3, sym = 'а' }
  13. };
  14.  
  15. var q = from row in table
  16. group row by row.id into gr
  17. select (from row in gr
  18. orderby row.val descending
  19. select row
  20. ).First();
  21.  
  22. foreach (var row in q)
  23. Console.WriteLine(row);
  24. }
  25. }
Success #stdin #stdout 0.06s 24296KB
stdin
Standard input is empty
stdout
{ id = 1, val = 7, sym = ы }
{ id = 2, val = 9, sym = в }