lag method
QueryBuilder
lag(
- String column, {
- int offset = 1,
- dynamic defaultValue,
- String? partitionBy,
- String? orderBy,
- String? as,
inherited
Implementation
@override
QueryBuilder lag(
String column, {
int offset = 1,
dynamic defaultValue,
String? partitionBy,
String? orderBy,
String? as,
}) {
if (column.isEmpty) {
throw InvalidArgumentException(
'Column name cannot be empty for LAG function');
}
String lagFunc = "LAG($column, $offset";
if (defaultValue != null) {
if (defaultValue is String) {
lagFunc += ", '$defaultValue'";
} else {
lagFunc += ", $defaultValue";
}
}
lagFunc += ")";
final overClause =
_buildOverClause(partitionBy: partitionBy, orderBy: orderBy);
_addWindowFunction(lagFunc, overClause, as);
return this;
}