You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将含多字段相加排序逻辑的MySQL语句转换为Sequelize查询

你可以使用 Sequelize 提供的 literal 方法拼接原生字段运算逻辑来实现,写法如下:
假设你已经完成 RewardEntries 模型的定义,直接调用 findAll 方法即可:

const rewardList = await RewardEntries.findAll({
  order: [
    [Sequelize.literal('`RewardEntries`.`happinessPoint` + `RewardEntries`.`moneyPoint` + `RewardEntries`.`healthyPoint`'), 'DESC']
  ]
})

如果当前查询没有关联其他表,不会出现字段名冲突的话,可以简化 literal 里的写法,省略表名:

order: [
  [Sequelize.literal('`happinessPoint` + `moneyPoint` + `healthyPoint`'), 'DESC']
]

literal 方法会将传入的内容直接作为原生SQL片段处理,不会做额外转义,最终执行的SQL和你提供的原生语句完全一致。

内容的提问来源于stack exchange,提问作者poppy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 11:57:02