Aggregate
The aggregate method allows you to conduct multiple aggregations on a set of records with one operation. The supported aggregations are:
_count- equivalent to the Count API._sum- sum of a numeric field._avg- average of a numeric field._min- minimum value of a field._max- maximum value of a field.
You can also use where, orderBy, skip, and take to control what records are included in the aggregation.
Samples​
Click here to open an interactive playground.
aggregate.ts
import { createClient } from './db';
import { createUsersAndPosts } from './utils';
async function main() {
const db = await createClient();
await createUsersAndPosts(db);
console.log(
await db.post.aggregate({
where: { published: false },
// you can also use `count: true` to simply count all rows
_count: { _all: true, content: true },
_avg: { viewCount: true },
_max: { viewCount: true },
})
);
}
main();