我的prisma中确实有一个简单的groupBy查询,如下所示:
const groupBy = await prisma.referral.groupBy({
by: ['recommenderId'],
_sum: {
points: true,
},
});我正在寻找的是根据这个_sum值进行排序的方法。
目前的答复是:
{
"groupBy": [
{
"_sum": {
"points": 20000
},
"recommenderId": 3
},
{
"_sum": {
"points": 19000
},
"recommenderId": 2
},
{
"_sum": {
"points": 34000
},
"recommenderId": 1
}
]
}我需要的是:
{
"groupBy": [
{
"_sum": {
"points": 34000
},
"recommenderId": 1
},
{
"_sum": {
"points": 20000
},
"recommenderId": 3
},
{
"_sum": {
"points": 19000
},
"recommenderId": 2
},
]
}基于文档(https://www.prisma.io/docs/concepts/components/prisma-client/filtering-and-sorting#sorting),我尝试了这样的方法:
const groupBy = await prisma.referral.groupBy({
by: ['recommenderId'],
_sum: {
points: true,
},
orderBy: [
{
_sum: 'desc',
},
],
});但是在代码中我得到了错误:
参数_sum:在prisma.groupByReferral上获得无效值'desc‘。提供的字符串,预期的ReferralSumOrderByAggregateInput
发布于 2022-02-01 15:29:02
您可以同时在不同的字段上使用_sum,因此还需要提供要对其进行排序的字段名:
const groupBy = await prisma.referral.groupBy({
by: ['recommenderId'],
_sum: {
points: true,
},
orderBy: [
{
_sum: {
// Add `points` key here
points: 'desc'
}
},
],
});https://stackoverflow.com/questions/70942071
复制相似问题