微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

按日期排序分组,而不考虑小时/分钟/秒

如何解决按日期排序分组,而不考虑小时/分钟/秒

如您所说,它已经完成,sequelize.fn(...)没有其他方法。尝试:

Task.findAll({
  group: [sequelize.fn('date_trunc', 'day', sequelize.col('createdAt'))]
})

我认为这可能会胜任。如果没有,我们将看看如何做;)

请注意,Postgresql允许您截断到特定间隔。有关更多信息,请访问:http ://www.postgresql.org/docs/9.1/static/functions-datetime.html#FUNCTIONS- DATETIME-Trunc

另外,要了解分组(和顺序)的工作方式,请参见Sequelize的文档:https ://github.com/sequelize/sequelize/blob/172272c8be9a847b2d64f0158826738703befddf/docs/docs/models- usage.md#manipulating-the-dataset- with限制偏移量和组

解决方法

嘿,我尝试使用Sequelize(用于PostgreSQL的Node.js ORM)从数据库中查询,尝试按日期范围进行分组,并保留该表中有多少项的计数。

现在我的代码是

 Task.findAll({
    attributes: ['createdAt'],group: 'createdAt'
  })

但是,正如您所看到的,分组仅考虑了确切的日期(包括秒),因此分组实际上是没有意义的,因为无论什么时候都不会有重叠的项目具有完全相同的秒计数。因此,我希望它只是根据日,年和月进行分组。

我认为这将必须像sequelize.fn(…)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。