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

如何将含date_part的SQL查询转换为Sequelize查询语句?

正确的Sequelize改写方案

你的原始SQL是获取Arts表中date字段年份的最小值,当前尝试的代码存在两处问题:

  • 误用了MAX聚合函数,和原SQL的MIN逻辑不符
  • 字段名写为dateField,与原SQL的"date"不匹配

正确的Sequelize查询语句如下:

Art.findOne({
  attributes: [
    [sequelize.fn('MIN', sequelize.fn('date_part', 'year', sequelize.col('date'))), 'min_year']
  ]
})

补充说明:

  • 外层用sequelize.fn('MIN', ...)包裹内层的date_part函数,完全还原原SQL的min(date_part(...))逻辑
  • 给聚合结果指定别名min_year,后续可通过返回对象的min_year属性直接获取计算值
  • 用sequelize.col('date')精准对应原表的date字段,避免字段名解析错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 14:07:00