【问题标题】:Rails: DISTINCT for use with "MyModelClass.where(..."Rails:与“MyModelClass.where(...”一起使用的 DISTINCT
【发布时间】:2012-07-23 12:20:56
【问题描述】:

我知道你可以在 Rails 中使用MyModelClass.select("DISTINCT name")。

DISTINCT 是否也可与MyModelClass.where(:name => 'me') 一起使用?

【问题讨论】:

    标签: sql ruby-on-rails activerecord select distinct


    【解决方案1】:

    是的,您可以将这些调用链接起来。

    MyModelClass.where(name: 'me').select('DISTINCT name')
    

    或者,even better

    MyModelClass.where(name: 'me').uniq.pluck(:name)
    

    【讨论】:

      【解决方案2】:

      你可以简单地使用这个: MyModelClass.where(name: "me").uniq

      生成的sql:

      SELECT DISTINCT `my_tbl`.* FROM `my_tbl` WHERE `my_tbl`.`name` = 'xyz'
      

      【讨论】:

      • +1 指出查询实际上得到了 DISTINCT 关键字,而不是最小化的结果数组。
      猜你喜欢
      • 2017-02-16
      • 1970-01-01
      • 2021-11-18
      • 1970-01-01
      • 2013-04-09
      • 2015-07-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多