aggregate method
aggregate(
[
Sum("amount", label: "totalAmount"),
Avg("amount", label: "averageAmount"),
Max("amount", label: "maxAmount", castToNumeric: true),
Min("amount", label: "minAmount"),
Count("amount"),
]
);
aggregate([Sum("amount", label: "totalAmount")], where: Where("age",WhereOperator.isGreaterThan , 40));
Implementation
Future<DbResponse> aggregate(
List<Aggregate> aggregates, {
Where? where,
}) async {
String query =
'SELECT ${(aggregates.map((e) => e.query)).map((val) => '"$val"').join(', ')} FROM "$tableName" ${getQuery(where: where)}';
var dbRes = await db.query(query);
return DbResponse(
dbRes.columnDescriptions.map((e) => e.columnName).toList(),
List<List>.from(dbRes.toList()));
}