code
attributes: [
sequelize.literal('SUM(stock) AS stock'),
sequelize.literal('SUM(actualAmount) AS actualAmount'),
sequelize.literal('SUM(differAmount) AS differAmount'),
sequelize.literal('SUM(beforeInventorySum) AS beforeInventorySum'),
sequelize.literal('SUM(afterInventorySum) AS afterInventorySum')
],
group: 'GoodId',
order: ['differAmount','desc']
sql
SELECT
SUM(stock) AS stock,
SUM(actualAmount) AS actualAmount,
SUM(differAmount) AS differAmount,
SUM(beforeInventorySum) AS beforeInventorySum,
SUM(afterInventorySum) AS afterInventorySum
FROM
`inventory_result_details` AS `InventoryResultDetail`
GROUP BY
GoodId
ORDER BY
`InventoryResultDetail`.`differAmount` DESC
sequelize版本3.2,我想针对分组后的数据再排序,sequelize会在order中那个参数自动加上表的别名,导致数据有问题
回复 (13)
Z
引用 mosaic101@zhengnz 这个报错,version@3.2,不知道是不是版本问题
@mosaic101 报什么错
I
没记错的话应该写成order: [[differAmount','desc']]
M
引用 iyuq没记错的话应该写成`order: [[differAmount','desc']]`
@iyuq 跟 ['differAmount','desc']没区别,无法解决我的问题!
M
引用 zhengnz@mosaic101 报什么错
@zhengnz SequelizeBaseError: ER_BAD_FIELD_ERROR: Unknown column 'desc' in 'order clause'
Z
引用 mosaic101@zhengnz SequelizeBaseError: ER BAD FIELD ERROR: Unknown column 'desc' in 'order clause'
@mosaic101
models.Table.findAll({
where: {
column: 1
},
order: [
[models.sequelize.col('other_column'), 'desc']
]
})
M
引用 zhengnzsequlize.col('column') From Noder
@zhengnz 这个我在issues里看到了,就是不知道怎么加asc、desc,官方api没找到,如果方便贴一下此方法api,谢谢
M
引用 zhengnz[sequelize.col('column'), 'asc'] From Noder
@zhengnz 这个报错,version@3.2,不知道是不是版本问题
J
order: [[sequelize.literal("differAmount DESC")]]
M
引用 iyuq那在order中直接用db.literal吧 来自酷炫的 CNodeMD
@iyuq 解决了,3q!
M
引用 Jealee3000order: [[sequelize.literal("differAmount DESC")]]
@Jealee3000 解决了,3q!
参与回复
登录后即可参与回复。登录