Is there a better way to write this query? I'm try...
# prisma-client
b
Is there a better way to write this query? I'm trying to get: • Number of responses with matching campaignId ◦ Number of those responses that have a score >= 9 ◦ Number of those responses that have a score <= 6
Copy code
const [nResponses, nPromoters, nDetractors] = await prisma.$transaction([
    prisma.response.count({
        where: {
            campaignId
        }
    }),
    prisma.response.count({
        where: {
            campaignId,
            score: {
                gte: 9
            }
        }
    }),
    prisma.response.count({
        where: {
            campaignId,
            score: {
                lte: 6
            }
        }
    })
]);
Ideally I could do something like this:
Copy code
await prisma.response.aggregate({
    where: {
        campaignId
    },
    _count: [
        { _all: true },
        { score: { gte: 9 } },
        { score: { lte: 6 } }
    }
});
But I don't think Prisma's API supports it