mysql Sequelize,基于文本对查询进行排序

ttp71kqs  于 8个月前  发布在  Mysql
关注(0)|答案(1)|浏览(73)

所以我有这个查询,这将返回多个字段,所以我所做的是,我想总结某个字段,并根据新的别名对其进行排序

const salesOrders = await SalesOrders.findAndCountAll({
            attributes: ['grandTotal', 'refNo', 'userId', 'createdAt', 'deletedAt', [Sequelize.literal('SUM(grand_total)'), 'sumTotal']],
            limit: _.toInteger(limit || getLimitOffset(req).limit),
            offset: _.toInteger(offset || getLimitOffset(req).offset),
            separate: true,
            group: ['userId'],
            order: ['sumTotal', 'DESC'],
            where: {
              userId: {
                [Sequelize.Op.in]: userIds
              },
              ...transactionFilter
            },

但是它说它不识别“sumTotal”,它给了我这个错误:

sqlMessage: "Unknown column 'SalesOrders.sumTotal' in 'order clause'",

是否有一种方法来识别我的续集新申报的别名?

rm5edbpk

rm5edbpk1#

顺序语法是两级数组。你应该改成

order: [['sumTotal', 'DESC']],

相关问题