gpt4 book ai didi

sql - Rails 查询 - 每天的最新帖子

转载 作者:行者123 更新时间:2023-12-04 04:54:04 26 4
gpt4 key购买 nike

一个 User has_many Posts .我想检索每一天的最新帖子(使用 created_at ),忽略可能之前写过的其他帖子。提出这个问题的另一种方法可能是按部门要求每个收入最高的员工 - 我认为也是如此。

我如何在 Rails 中编写这个查询(最好是 4.0)?我认为这与group有关和 maximum但我似乎无法理解。有没有办法在不求助于 SQL 的情况下做到这一点?

澄清一下,我想要返回的是一组 post 对象,它们是在各自日期写入的最后一个对象。

谢谢!

最佳答案

它不是很干净,但这在 Rails 3(在我的例子中取自 Book 模型)中工作,使用 PostgreSQL 语法将 created_at 截断到日期:

max_created_at_list = Book.select("max(created_at) as created_at").group("date_trunc('day',created_at)")
last_books = Book.where(:created_at => max_created_at_list)

...或只是:
Book.where(:created_at =>Book.select("max(created_at) as created_at").group("date_trunc('day',created_at)"))

对于大型数据集,您希望在 created_at 上有一个索引,并且如果您使用的 RDBMS 不索引空值(例如 Oracle),则 created_at 在数据库级别被限制为非空或“非空”谓词

关于sql - Rails 查询 - 每天的最新帖子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17030235/

26 4 0
文章推荐: file - Chrome Packaged App 从命令行传递文件(通过 launchData)
文章推荐: gwt - 如何在客户端的 GWT 中创建 contenteditable
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com