提问人:Doyoun 提问时间:7/13/2023 最后编辑:dbuggerDoyoun 更新时间:7/13/2023 访问量:49
如何翻译成 Rails 查询?
how to translate to rails query?
问:
红宝石 2.3.8
轨道 5.0.0.1
我在转换为 rails 查询时遇到问题。
我有一个查询,它正在查找重复数据:
SELECT count(*) FROM (SELECT date, code, count(*) AS cnt FROM customers WHERE date >= '2021-01-01' GROUP BY date, code) p WHERE p.cnt > 1;
我还想打印以使用记录器检查结果,但它在 rails 批处理中不起作用。
答:
2赞
Vasily Kolesnikov
7/13/2023
#1
如果我正确理解了这个问题,您可能需要:having
Customer.where("date >= '2021-01-01'").having('count(*) > 1').group(:date, :code)
评论
1赞
engineersmnky
7/14/2023
这将返回一个 of 而不是 all of the all of ,尽管你可以在之后用它来解决这个问题。Hash
{[date,code] => number}
size
0赞
Doyoun
7/14/2023
谢谢,科列斯尼科夫@Vasily。帮了我很多。我得到了Customer.where("date >= '2021-01-01'").select("date, code, count(*) as cnt").group("date, code").having("cnt > 1").select("count(*)")
评论