【问题标题】:How to use GROUP BY YEAR(created_at) in sequelize如何在 sequelize 中使用 GROUP BY YEAR(created_at)
【发布时间】:2023-02-26 07:12:36
【问题描述】:

如何使用 group by in续集对于 mysql按年分组(创建于)

我正在尝试这样做,但它显示错误

const result = await arbcase.findAll({
    attributes: [[arbcase.sequelize.literal(`COUNT(*)`), "count"]],
    group: ["YEAR(created_at)"],
  });

错误sqlMessage: “‘组语句’中的未知列‘YEAR(created_at)’”,

'SELECT COUNT(*) AS count FROM arbcase AS arbcase GROUP BY YEAR(created_at);'

【问题讨论】:

  • 你试过Sequelize.fn了吗?

标签: javascript mysql node.js sequelize.js


【解决方案1】:
const result = await arbcase.findAll({
  attributes: [
    "created_at",
    [arbcase.sequelize.literal(`COUNT(*)`), "count"],
  ],
  group: [
    arbcase.sequelize.fn("YEAR", arbcase.sequelize.col("created_at")),
    arbcase.sequelize.fn("MONTH", arbcase.sequelize.col("created_at")),
  ],
  // SELECT created_at ,count(*) FROM `arbcase` GROUP BY YEAR(created_at), MONTH(created_at) ASC
});

这段代码对我有用

__your__mode__name__.sequelize.col("created_at"))

Sequelize中mwsql中的每一个函数都使用这个函数

【讨论】:

    猜你喜欢
    • 2015-03-28
    • 2022-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-30
    • 2018-12-18
    • 2016-04-16
    • 2018-09-17
    相关资源
    最近更新 更多