【Prisma】如何加总一个字段?

In Prisma with Node.js, you can use the aggregate function to calculate the sum of a field across all records in a database table. Here is an example of how you can perform an aggregation to calculate the sum of a field using Prisma:

Suppose you have a model named Transaction with a numeric field named amount. You can calculate the sum of the amount field like this:

// Import the PrismaClient constructor from the @prisma/client node module
const { PrismaClient } = require('@prisma/client');

// Instantiate PrismaClient
const prisma = new PrismaClient();

async function main() {
  // Use aggregate function to get the sum of the amounts
  const result = await prisma.transaction.aggregate({
    _sum: {
      amount: true,
    },
  });

  console.log(`The sum of amounts is: ${result._sum.amount}`);
}

// Call the main function
main()
  .catch((e) => {
    throw e;
  })
  .finally(async () => {
    // Close the database connections when the script terminates
    await prisma.$disconnect();
  });

Make sure to replace Transaction with the name of your actual model and amount with the field you want to sum.

Note that _sum is part of the aggregate query and it specifies that you want to calculate the sum of the specified field or fields. In the result object, result._sum.amount contains the sum of the amounts from all Transaction records.

Please ensure your Prisma schema and client are up to date, as the Prisma API might evolve, and newer versions may have different functions or syntax.

你可能感兴趣的:(Nest.js,Prisma)