sql >> Databáze >  >> RDS >> Mysql

Take a Group By v EntityFramework

Zde je příklad toho, co si myslím, že chcete. Tento dotaz vrátí 3 nejlepší sudtenty podle GPA v každé třídě:

using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Ef6Test
{

    class Student
    {
        public int Id { get; set; }
        public string Name { get; set; }

        public string Class{ get; set; }

        public decimal GPA { get; set; }
    }

    class Db : DbContext
    {
        public DbSet<Student> Students { get; set; }
    }
    class Program
    {
        static void Main(string[] args)
        {
            using (var db = new Db())
            {
                var q = db.Students
                         .GroupBy(s => s.Class)
                         .SelectMany(g => g.OrderByDescending(s => s.GPA).Take(3));

                Console.WriteLine(q.ToString());

                Console.ReadKey();
            }

        }
    }
}


  1. Blokovat SELECT, dokud nebudou k dispozici výsledky

  2. Typy Oracle SQL přes dblink

  3. Jak funguje funkce SUBSTR() v MySQL

  4. Připojení MySQL nefunguje