首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >按两种不同风格的东西排序

按两种不同风格的东西排序
EN

Stack Overflow用户
提问于 2012-10-29 19:34:37
回答 2查看 45关注 0票数 0

理论上我想要的是:

:order => "column1 ASC, column2 DESC"

但在我的例子中,column1实际上不是一个列,而是一个聚合值:

:order => relations.count

当其中一列实际上是聚合值时,我如何按两列排序?

顺便说一句: Counter-Cache不是一个选项(因为它在我需要的时候已经过时了)

EN

回答 2

Stack Overflow用户

发布于 2012-10-29 19:36:13

代码语言:javascript
复制
:order => "COUNT(*), column2 DESC"
票数 0
EN

Stack Overflow用户

发布于 2012-10-29 19:50:40

要通过计算值对/group/etc进行排序,您必须在相应的子句中指定它,在本例中也使用(可能是左)连接:

代码语言:javascript
复制
Something.select("somethings.*, COUNT(others.id)").
          joins("LEFT JOIN others ON others.something_id = somethings.id").
          group("somethings.*").
          order("COUNT(others.id), column2 DESC")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13120837

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档