public void ItShouldBePossibleToUseAnEmptyOverClause() { var expr = S.SelectNode( S.Select( S.Col <Person>("Name"), S.WinCol( AggregateType.Sum, S.Col <Person>("Age"))), S.From <Person>()); var result = SqlGen.SqlifyExpression(AnsiSql.Dialect, expr); Assert.That(result, Is.EqualTo("SELECT PersonRef.Name, SUM(PersonRef.Age) OVER () FROM Person PersonRef")); }
public void ItShouldBePossibleToOrderByAColumn() { var expr = S.SelectNode( S.Select( S.Col <Person>("Name"), S.WinCol( AggregateType.Sum, S.Col <Person>("Age"), orderBy: new[] { S.OrderClause(S.Col <Person>("Age"), Direction.Ascending) })), S.From <Person>()); var result = SqlGen.SqlifyExpression(AnsiSql.Dialect, expr); Assert.That(result, Is.EqualTo("SELECT PersonRef.Name, SUM(PersonRef.Age) OVER (ORDER BY PersonRef.Age ASC) FROM Person PersonRef")); }
public void ItShouldBePossibleToPartitionByAColumn() { var expr = S.SelectNode( S.Select( S.Col <Person>("Name"), S.WinCol( AggregateType.Max, S.Col <Person>("Age"), new[] { S.Col <Person>("Name") })), S.From <Person>()); var result = SqlGen.SqlifyExpression(AnsiSql.Dialect, expr); Assert.That(result, Is.EqualTo("SELECT PersonRef.Name, MAX(PersonRef.Age) OVER (PARTITION BY PersonRef.Name) FROM Person PersonRef")); }