我需要按日期对字段进行分组,我使用Prisma 2,例如,在月份中过滤所有寄存器,但我不知道如何在日期的情况下做到这一点
您的位置:我也知道>地区/地区>地区/地区
按正常字段过滤的示例
await this.record.groupBy({
by: ['category'],
where: {
AND: [
{ user: id },
{ account: { in: accountsIds } },
{ category: { in: categoriesIds } },
{ operation },
],
},
sum: {
amount: true,
},
});这给我带来了回报:
{ category: 27, sum: { amount: -45 } }, { category: 29, sum: { amount: 4400 } }我非常感谢您的帮助!
欢迎光临!
发布于 2021-08-10 20:26:05
使用Prisma来做这件事肯定是很困难的,即使这是可能的。在Prisma后面有一个数据库,它更适合这样的工作。在本例中,假设这是postgresql。
对于特定的问题,创建一个视图,如
CREATE VIEW record_by_month AS
SELECT date_trunc('month', YOURDATE) month,
sum(amount) amount_by_month FROM YOURTABLE group by 1;您必须添加您需要的其他字段。创建prisma模型,编写prisma查询,就完成了。
更简单的方法,也许值得一试(特别是如果你要为这个模型编写许多不同的查询,比如上面的月份分组),来创建一个只针对特定日期的视图:
CREATE VIEW record_by_month AS
SELECT distinct YOURDATE id,
date_trunc('month', YOURDATE) month FROM YOURTABLE;创建一个模型,使用@relation将其添加到原始表中,摆弄groupBy和include,编写类似by: [record_by_month.month]的代码(不确定在当前版本中是否可行)。这种方法的明显优势(如果有效)是,您不必复制模型的太多部分。
https://stackoverflow.com/questions/67546591
复制相似问题