假设我有一个带有visit_id和created_at的表访问,并且将会有许多具有相同visit_id的访问。
现在我想每 10 分钟的独立访问绘制一个图表。是否可以在一个查询中完成它?我怎样才能在 Rails 中做到这一点?
在我将唯一访问存储在表中之前,所以我这样做了
Visit.
select(:created_at).
where("DATE(created_at)>=? and DATE(created_at)<=?",from_date,to_date).
group("ROUND(UNIX_TIMESTAMP(created_at) / 10)").
count
我得到了结果。但是,当需要对 visit_id
进行分组时,我也无法编写查询。
最佳答案
您也可以通过访问简单地将 visit_id
添加到组中:
Visit.
select(:created_at).
where("DATE(created_at)>=? and DATE(created_at)<=?",from_date,to_date).
group("visit_id, ROUND(UNIX_TIMESTAMP(created_at) / 10)").
count
关于mysql - Rails 如何按查询进行不同和分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44201289/