控制台生成的Rails 4 SQL与操作执行有所不同

时间:2019-03-13 22:22:36

标签: mysql ruby-on-rails ruby ruby-on-rails-4 rails-console

我试图使用包含日期(YYYY-MM-DD)的文本字段来搜索结果,以创建工作,每个月应该只给我带来1个结果。

例如: 如果它们有两个或两个以上具有同一月日期的记录,即使它们是不同的日期,则仅必须返回该月的第一条记录。

问题是,当我在控制台上运行命令时,它会通过Rails生成的其他SQL动作正确地运行查询。

我已经尝试过:

1)Model.select("DISTINCT DATE_FORMAT(date_column, '%Y-%m') as date").where(id: model_id)

2)Model.select("DATE_FORMAT(date_column, '%Y-%m') as date").where(id: model_id).distinct

控制台查询:

1和2返回相同的查询 SELECT DISTINCT DATE_FORMAT(date_column, '%Y-%m') as date FROM model WHERE model.id = 1

动作查询:

1)SELECT COUNT (*) FROM model WHERE model.id = 1

2)SELEC DISTINC id FROM model WHERE model.id = 1

我做错了什么或如何正确进行搜索?

我使用:

路轨4 玛丽亚数据库 独角兽 Irb

0 个答案:

没有答案