sql >> Base de Datos >  >> RDS >> Sqlserver

Funciones SQL Lead y Lag del código C#

Busque en el proyecto MoreLinq (en github):http://morelinq.github.io

Allí, Lead y Lag se implementan como extensiones:

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

referencia:https://morelinq.github.io/2.0/ref /api/html/M_MoreLinq_MoreEnumerable_Lag__2_1.htm

EDITAR:Esto es solo Linq to Objects. Entonces, cuando se aplica a una fuente de datos SQL, obtiene todas las filas y luego realiza el cálculo fuera de la base de datos. Esto no es lo que espera el OP.

Los resultados de la investigación dicen "no , no es posible" para los elementos 1,2,3 y 4: