sql >> Database >  >> RDS >> Sqlserver

Is er een functie in Entity Framework die zich vertaalt naar de functie RANK() in SQL?

AFAIK Rank() heeft geen ingebouwde functie in LINQ. Dit antwoord gebruikt uw aanpak, maar het lijkt voor hen te werken. Hier is hoe je het zou kunnen gebruiken:

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. Oracle Trigger WHEN-clausule Voorbeeld

  2. groeperen op nodig in count(*) SQL-instructie?

  3. Django onderscheiden werkt niet

  4. Verwijder millisecondendeel van tijdstempel