0

理論的に私が欲しいのはこれです:
:order => "column1 ASC, column2 DESC"

しかし、私の場合、column1 は実際には列ではなく、集計された値です。
:order => relations.count

2 つの列のうちの 1 つが実際に集計値である場合、どうすれば 2 つの列で並べ替えることができますか?

ところで:カウンターキャッシュはオプションではありません(必要なときに時代遅れになっているため)

4

2 に答える 2

0

計算された値で順序付け/グループ化/などするには、対応する句でそれを指定する必要があります。この場合、(おそらく左) 結合も使用します。

Something.select("somethings.*, COUNT(others.id)").
          joins("LEFT JOIN others ON others.something_id = somethings.id").
          group("somethings.*").
          order("COUNT(others.id), column2 DESC")
于 2012-10-29T11:50:39.567 に答える
0
:order => "COUNT(*), column2 DESC"
于 2012-10-29T11:36:12.870 に答える