mysql - Rails 如何按查询进行不同和分组

标签 mysql ruby-on-rails

假设我有一个带有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/

相关文章:

ruby-on-rails - Rails 3 ActiveRecord 查询

ruby-on-rails - ASP.NET MVC : Passing instance variables to the View like in Ruby

mysql - Rails 4 从 has_one 关联访问表属性

php - 在mysql中建立三张表的查询

javascript - 在一个 javascript 函数中使用多个 ajax 调用

php - 使用单个 MySQL 表的递归树 CRUD PHP

ruby-on-rails - 项目中的类和 gem 之间的命名空间问题

php - 通过 PHP 的 XML 请求 MySQL

mysql - 在jsp中将数据库表显示为rankingtable

ruby-on-rails - 实时查看用户是否在线