要对数据库里 一个字段进行,求和,为啥出来的结果是这样的?
这个字段的总和,到底要怎么求?
你这写法不对吧,getCount是满足当前条件的记录的条数,和字段求和没关系
field里面的sum是对当前记录的操作吧,不是对整个表的操作
你看这样写可行:
商品分为两个类,要对两个类的总库存做求和,如下
db.collection('goods-spu')
.groupBy('type')
.groupField('sum(stock) as total_stock')
.get()
查询结果:
[
{
"total_stock": 199,
"type": 2
},
{
"total_stock": 0,
"type": 1
}
]
2***@qq.com - 不错哟
db.collection(putaway, customer, users, product).where(this.where).field('record_value').groupBy(
'record_type')
.groupField('sum(record_value) as total_value').get().then(res => {
console.log(res.result.data);
})
可以这样 field('record_value') 填入需要求和的字段,但是不要填groupBy()中的字段
groupBy('record_type')随便一个字段 它在计算时就会分组不成功 就只能求和了
1***@qq.com (作者)
你好,如果我不分类,要对全部商品求一个总和,要怎么写
2022-05-05 10:47
非专业键盘侠
回复 1***@qq.com: 我看了下jql的语法,统计那块儿的文档,求和、平均值什么的都是要分组的,所以我也不知道怎么优雅的写出来。先用本办法吧,把所有记录的要统计的列取出来,循环求和
2022-05-05 12:14
DCloud_uniCloud_WYQ
回复 1***@qq.com: 如果你的商品数量很多的情况下,这样可能求不出来。如果非要这么做,可以依然使用分组求和,但是这个分组依据可以是需要求和的记录都满足的依据
2022-05-05 13:49