gpt4 book ai didi

mysql - 如何使用 MySQL 2 在 Rails 3 项目中使用 WHERE IN?

转载 作者:可可西里 更新时间:2023-11-01 06:53:03 25 4
gpt4 key购买 nike

我是 Rails 的新手,对 SQL 类语言的经验很少。

我正在使用 MySQL2 开发 Rails 3 项目

我这里有一个通用的 SQL 语句,我想在我们的两个数据库上都使用它。有什么方法可以仅通过 ActiveRecord 功能来做到这一点吗?

SELECT * FROM MyRecords 
WHERE (f1, f2, f3, f4) IN (
SELECT f1, f2, f3, f4
FROM MyRecords
GROUP BY f1, f2, f3, f4
HAVING count(*) = 1
);

换句话说,我正在尝试执行“WHERE IN”语句(坦率地说,我什至不知道 WHERE IN 语句的作用,只是这个答案满足了我的需要:我如何 (或者我可以)在多列上选择 DISTINCT(postgresql)吗?)更具体地说,我必须增加以下 ActiveRecord 函数,以便它执行上述查询:

  def MyRecordFunction
MyRecords.where('org_id=?', self.org_id).order('f4')
end

谢谢。

最佳答案

我有点困惑,但我认为这就是您要找的:

MyRecord.where(org_id: [1, 2, 3]).order('f4')

where 中的 in 语句查找特定字段的特定值,在上面的示例中,查询将查找 mY_records 表中的 register,其中 org_id 包含 1,2 或 3。

检查一下:http://guides.rubyonrails.org/active_record_querying.html

更新:我明白了,Harish Shetty 说的有道理。

关于mysql - 如何使用 MySQL 2 在 Rails 3 项目中使用 WHERE IN?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15707910/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com