代码在heidisql中工作,但不支持sequelize(mariadb)

lyfkaqu1  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(368)

如果我执行以下顺序代码
models.venta.sum('total',{where:{fechaexpedition:{[op.gte]:'2018-03-31 00:00:00',[op.lte]:'2018-03-31 23:59:59'},attributes:['elaboradopor'],group:'elaboradopor',logging:console.log}).then(totaliva=>{console.log(json.stringify(totaliva))}).catch(e=>{console.log(e)})
我只看到了调查的第一个结果(带有sequelize)。结果续码
通过logging:console.log,我得到mariadb的sql指令:
选择 elaboradoPor ,总和( total )作为 sumVenta 作为 Venta 在哪里( Venta . fechaExpedicion >='2018-03-31 00:00:00'和 Venta . fechaExpedicion <=“2018-03-31 23:59:59”)分组 elaboradoPor ;
如果执行,heidisql中的select会给出正确的结果。选择heidysql
请问,为了得到最好的结果,续集说明中缺少了什么?

ukxgm1gy

ukxgm1gy1#

我修改了指令,并使用findall()和fn来构建和,并集成了附加操作。

models.Venta.findAll({
  where: {
    fechaExpedicion: {
      [Op.gte]: '2018-03-31 00:00:00',
      [Op.lte]: '2018-03-31 23:59:59'
    }
  },
  logging: console.log,
  attributes: [
            'elaboradoPor',
            [Sequelize.fn('SUM', Sequelize.col('total')), 'totalSuma'],
            [Sequelize.fn('SUM', Sequelize.col('totalIva')), 'totalIva'],
            [Sequelize.fn('SUM', Sequelize.col('saldo')), 'totalSaldo']
            ],
        group: ['elaboradoPor']
})
.then(resultados => {
  console.log(JSON.stringify(resultados))
})
.catch(e => { console.log(e) 
})

最后的续集

相关问题