public static ISqlWindowFrameEndExclusionAble <TIn> UnboundedFollowing <TIn>(this ISqlWindowFrameStartAble <TIn> input) => input.Start(WinFrameStartEnd.UnboundedFollowing);
public static ISqlWindowFrameEndExclusionAble <TIn> CurrentRow <TIn>(this ISqlWindowFrameStartAble <TIn> input) => input.Start(WinFrameStartEnd.CurrentRow);
public static ISqlWindowFrameEndExclusionAble <TIn> Following <TIn>(this ISqlWindowFrameStartAble <TIn> input, int offset) => input.Start(WinFrameStartEnd.OffsetFollowing, offset);
static ISqlWindowFrameEndExclusionAble <TIn> Start <TIn>(this ISqlWindowFrameStartAble <TIn> input, WinFrameStartEnd startEnd, int?offset = null) { var old = input.Current.Frame; return(new SqlWindowBuilder <TIn>(input.Input, input.Previous, input.Current.SetFrame(old.SetStart(new SqlWindowFrameStartEnd(startEnd, offset))))); }