【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.

  • 8
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值