获取内部连接范围的行数

时间:2017-12-15 21:02:34

标签: mysql ruby-on-rails having

我有以下范围:

scope :billable, -> (range_start = nil, range_end = nil) {
    joins(:bids)
      .where("auctions.complete = 1 AND auctions.starts_at >= ? AND auctions.starts_at <= ? AND auctions.listing = 0", range_start, range_end)
      .group("auctions.id")
  }

我正在尝试确定如何将约束添加到where子句,以允许我选择count(bid)&gt; auctions.items_count

1 个答案:

答案 0 :(得分:0)

请参阅http://guides.rubyonrails.org/active_record_querying.html#having

在SQL中要记住:

  • WHERE子句用于单个行的条件,之前它们已被GROUP BY放入组中。
  • HAVING子句适用于群组条件。

您有条件要在结果中包含哪些组,因为您的条件使用聚合函数count()。所以它属于HAVING子句。