它不是很干净,但是可以在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上建立一个索引,并且在数据库级别上将created_at限制为不为null,或者如果您使用的RDBMS不对null进行索引,则使用“
is not null”谓词(例如Oracle)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)