sql >> Databáze >  >> RDS >> Sqlserver

Existuje v Entity Framework funkce, která se převádí na funkci RANK() v SQL?

AFAIK Rank() nemá v LINQ žádnou vestavěnou funkci. Tato odpověď používá váš přístup, ale zdá se, že pro ně funguje. Zde je návod, jak jej můžete použít:

var customersByCountry = db.Customers
    .GroupBy(c => c.CountryID);
    .Select(g => new { CountryID = g.Key, Count = g.Count() });
var ranks = customersByCountry
    .Select(c => new 
        { 
            c.CountryID, 
            c.Count, 
            Rank = customersByCountry.Count(c2 => c2.Count > c.Count) + 1
        });



  1. Monitorování PostgreSQL v hybridním prostředí

  2. Jak zobrazit data z databáze s dynamickým rozpětím řádků

  3. Odkazování na alias sloupce v klauzuli WHERE

  4. Zadaný modul nelze nalézt. (MS Visual Database Tools)