Prisma - 总和 - 超过 350'000 行
Prisma - Sum amount - more than 350’000 rows
我的发票模型如下:
type Invoice {
id
amount
}
我有 350'000 张发票。我如何计算所有发票的金额。
(最大限制为 1000)
此 hack 无法工作: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
您可以在 Prisma 中使用自定义 SQL 查询构建自定义解析器,该查询将为您求和;
一个示例实现可能类似于:
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
我的发票模型如下:
type Invoice {
id
amount
}
我有 350'000 张发票。我如何计算所有发票的金额。 (最大限制为 1000)
此 hack 无法工作: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
您可以在 Prisma 中使用自定义 SQL 查询构建自定义解析器,该查询将为您求和;
一个示例实现可能类似于:
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