ruby-on-rails - 使用 Rails 3.0 + Postgres 的复杂排序查询

标签 ruby-on-rails postgresql sql-order-by

rails 是否有任何方法可以在数据库查询级别进行复杂排序?

即/

Posts.order(up/down).all ?

什么是在数据库级别(在 postgres 中)实现这一点的最佳方法,而不必使用 sort 在 ruby​​ 中对结果进行排序(这会减慢分页等)。

最佳答案

如果你使用美妙的meta_where gem,你也可以做类似的事情

Post.order(:create_at.asc)

要按两列或更多列的函数排序,您可以执行类似的操作

Post.select("*, (up / down) as ratio").order("ratio asc")

你会得到你想要的,而且数组中的每个 Post 对象都会有一个 ratio 方法让你知道确切的值。

关于ruby-on-rails - 使用 Rails 3.0 + Postgres 的复杂排序查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5329925/

相关文章:

ruby-on-rails - SASL LOGIN 认证失败 : Invalid authentication mechanism on Rails using Postfix and Dovecot on Ubuntu 12. 10

ruby-on-rails - heroku run rake db :migrate error “/usr/bin/env: ruby2.2: No such file or directory”

perl - 使用 perl DBI 和 postgresql 的连接池

ruby-on-rails - 如何断言 cookie 在 rails 3 功能测试中被清除?

django - 修改模型后如何更新已部署的 django-app 的数据库(postgresql)?

sql - 获取 PostgreSQL 中受 INSERT 或 UPDATE 影响的记录数

php - 如何在 foreach 循环内进行 ORDER BY?

mysql - SQL 保留默认顺序但对左连接应用子顺序

mysql - 基于 'IN' 顺序的订单值 - MySQL

ruby-on-rails - 什么是保存草稿帖子的 RESTful 方式?