sum - Prisma - 总和 - 超过 350'000 行
问题描述
我有一个发票模型,例如:
type Invoice {
id
amount
}
我有 350,000 张发票。我如何汇总所有发票的金额。(最大限制为 1000)
这个黑客不能工作:https ://www.prisma.io/forum/t/query-all-size-limit/557 ,因为我有太多行。
相关问题:https ://github.com/prisma/prisma/issues/2162 https://github.com/prisma/prisma/issues/259 https://www.prisma.io/forum/t/query-all -size-limit/557 https://www.prisma.io/forum/t/sun-amount-more-than-350000-rows/7611
解决方案
您可以使用自定义 SQL 查询在 Prisma 中构建自定义解析器,该查询将为您求和;
示例实现可能类似于:
const client = new Client({
database: "prisma",
user: "...",
password: "...",
host: "localhost",
port: 3000
})
const resolvers = {
Query: {
async sumInvoices(parent, args, context, info){
const response = await client.query(
`SELECT SUM(amount) FROM Invoice WHERE YOUR_CONDITION`
);
return response;
};
};
您也可以查看 Ben Awad 的视频以获取更多示例:https ://www.youtube.com/watch?time_continue=12&v=YUjlBuI8xsU
推荐阅读
- c++ - 如何让 LED 代码从键盘按下运行
- android - 背景模糊过滤器在 chrome 中有效,但在 webview 中无效
- c# - .NET Core 模型正在四舍五入我的十进制值
- power-automate - 我正在尝试在 O365 Groups 邮箱中收到新电子邮件时触发 Flow
- php - 如何在 Laravel 中使用 LIKE 语句使用查询结果并再次查询
- wxpython - 在 wx.grid 中输入关键行为
- android - 如何修复无法在 SearchView 中使用 setOnQueryTextListener
- python - 如何检查命令是否已经执行
- javascript - SQL JS 批量插入
- android - 如何通过 Id Room 数据库获取数据