【问题标题】:Find the most popular date in sql / rails在 sql/rails 中查找最受欢迎的日期
【发布时间】:2015-06-15 13:19:13
【问题描述】:

我有一个名为 BusinessTrip 的模型,它有一个 start_date 和一个 end_date。这是在一个 mysql 支持的 Rails 3.2 应用程序中。

我的营销人员要求我制作一个统计数据,以返回一年中最受欢迎的 10 个出差日期。

我将创建一个 rake 任务来生成这些数据并每月一次通过电子邮件将它们发送给营销人员,并认为在 SQL 中编写查询比 activerecord 更容易,但我不知道如何开始查询。我想我必须按日期对记录进行分组,但我不确定如何开始......

显然这将给我最受欢迎的五个开始日

select start_date, count(*) from trips
group by start_date
order by count(*) desc
limit 5

但这不是真实的图片,因为它不会报告任何日历年的日期,除非旅行实际开始于该日期!

【问题讨论】:

    标签: mysql ruby-on-rails


    【解决方案1】:

    您能否尝试以下范围,只需尝试将您的 sql 转换为 rails 查询。

     scope :by_date, :group => "tips.start_date", :order => "COUNT(tips.start_date) DESC"
     @tips = Tip.by_date.limit(5)
    

    注意: 没有测试,如果不行请告诉我。希望你至少有一个想法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-20
      • 2021-04-08
      • 1970-01-01
      • 1970-01-01
      • 2012-03-24
      相关资源
      最近更新 更多