【问题标题】:Rails 4 : how to use UNIX_TIMESTAMP with group YEAR + MONTHRails 4:如何将 UNIX_TIMESTAMP 与 YEAR + MONTH 组一起使用
【发布时间】:2013-12-04 16:31:17
【问题描述】:

我有以下代码

Call.group('MONTH(created_at)').count

返回

{9=>57992, 8=>27464, 7=>25175, 6=>26310, 5=>26578, 4=>28090, 3=>33039, 1=>32528}

如何使用UNIX_TIMESTAMP 以便返回年+月(例如1356912000000)而不是月(例如9)的UNIX_TIMESTAMP 值?

我试过了

Call.group('UNIX_TIMESTAMP(MONTH(created_at))').count

但是没有用。

谢谢。

【问题讨论】:

    标签: mysql ruby-on-rails ruby timestamp grouping


    【解决方案1】:

    你可以这样使用:

    Call.group("UNIX_TIMESTAMP((DATE_FORMAT(`created_at`,'%Y-%m-01 00:00:00')))")
    

    请记住,这会产生与以下不同的结果:

    Call.group('MONTH(created_at)').count
    

    第一个实际上返回您所要求的结果,按年+月的时间戳分组的结果,而第二个仅针对月份执行此操作,即您按所有年份的月份数对结果进行分组,而第一个一个是逐年进行的,如果您想逐月进行一年,则需要专门针对该年进行过滤。

    来源:

    【讨论】:

      猜你喜欢
      • 2023-03-18
      • 1970-01-01
      • 2013-09-19
      • 2015-08-19
      • 2012-03-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多