获取内部连接范围的行数

问题描述 投票:1回答:1

我有以下范围:

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)> auctions.items count的位置

mysql ruby-on-rails having
1个回答
0
投票

http://guides.rubyonrails.org/active_record_querying.html#having

在SQL中要记住:

  • WHERE子句用于各个行的条件,然后由GROUP BY放入组中。
  • HAVING子句适用于组的条件。

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

© www.soinside.com 2019 - 2024. All rights reserved.