La mise en œuvre de RANG PLUS de Clause SQL en C#, LINQ
J'ai besoin pour mettre en œuvre les T-clause SQL ....
RANK() OVER (PARTITION BY a.CategoryKey ORDER BY (x.Rate * @BASE_RATE ) DESC )as Rank
...en C#, LINQ. Pour l'instant ce que j'ai trouvé est quelque chose comme ....
var rank = data.GroupBy(d => d.CategoryKey)
.Select(group => group.OrderByDescending(g => g.Rate * @BAES_RATE)
Je pense cela me donnerait chaque rang partition ordonnée par le taux de * BASE_RATE. Mais ce que j'ai réellement besoin est la rang d'une seule ligne, ce qui est une sous-requête dans un plus grand résultat. Si vraiment l'ensemble de la requête SQL, je travaille à quelque chose comme ....
SELECT
a.Rate,
a.CategoryKey,
a.ID,
.
.
.
RANK() OVER (PARTITION BY a.CategoryKey ORDER BY (x.Rate * @BASE_RATE ) DESC )as Rank
FROM data
OriginalL'auteur MassStrike | 2014-01-06
Vous devez vous connecter pour publier un commentaire.
Si vous n'avez pas besoin de connaître la Rang sémantique (c'est à dire liée rangs).
Vous pouvez utiliser l'index disponible avec une sélection de projections
Sinon, vous pouvez regarder à cette réponse
Soins pour partager votre œuvre?
OriginalL'auteur Adam Mills