Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Fonctions SQL Lead et Lag à partir du code C#

Regardez dans le projet MoreLinq (sur github) :http://morelinq.github.io

Ici, Lead et Lag sont implémentés en tant qu'extensions :

public static IEnumerable<TResult> Lag<TSource, TResult>(
    this IEnumerable<TSource> source,
    int offset,
    TSource defaultLagValue,
    Func<TSource, TSource, TResult> resultSelector
)

référence :https://morelinq.github.io/2.0/ref /api/html/M_MoreLinq_MoreEnumerable_Lag__2_1.htm

EDIT :Il s'agit uniquement de Linq to Objects. Ainsi, lorsqu'il est appliqué à une source de données SQL, il récupère toutes les lignes, puis effectue le calcul en dehors de la base de données. Ce n'est pas ce à quoi l'OP s'attend.

Les résultats de la recherche disent "non , ce n'est pas possible" pour les items 1,2,3 et 4 :