Activerecord 从数据库中获取按年份排序的记录>;月份>;白天

Activerecord 从数据库中获取按年份排序的记录>;月份>;白天,activerecord,ruby-on-rails-4,Activerecord,Ruby On Rails 4,我有一个项目模型 数据库中有许多记录填写了列created\u at。 我希望生成具有以下层次结构的视图: 2014 December 31 items here 30 items here 29 items here ... November 31 ... ... 2013 ... 最优雅的方式是什么 编辑:非常感谢您的查询。如何在RubyonRails中实现这一点?为了实现这一点,我们将按日

我有一个
项目
模型

数据库中有许多记录填写了列
created\u at
。 我希望生成具有以下层次结构的视图:

2014
  December
    31
      items here
    30
      items here
    29
      items here
    ...
  November
    31
    ...
  ...
2013
  ...
最优雅的方式是什么


编辑:非常感谢您的查询。如何在RubyonRails中实现这一点?

为了实现这一点,我们将按日期的不同部分对记录进行排序。下面的示例查询

SELECT 
      ItemDescription,
      Year(DateField) AS Year,
      Datename(mm, DateField) AS Month,
      Day(DateField) AS Day
FROM tblName
ORDER BY
      Year(DateField) DESC,
      Month(DateField) DESC,
      Day(DateField) DESC

这将按预期顺序为您提供数据。现在,您可以创建一个存储过程,将输出修改为所需的格式。

您希望在哪里看到这一点?在SSMS的结果窗格或其他地方?嗯,我从数据库中获得了uniq年数:
@years=Items.uniq.pulk(“提取(从创建的年份)”
我不知道,下一个方法是什么me@ManishDalal我想得到一些嵌套数组,我将在嵌套循环的视图文件中使用这些数组[:月][:天]
  SELECT DATEPART(Year, PaymentDate) Year, DATEPART(Month, PaymentDate) Month,    DATEPART(day, PaymentDate) Day,item_name
    FROM Payments
    GROUP BY DATEPART(Year, PaymentDate), DATEPART(Month, PaymentDate),DATEPART(day, PaymentDate) desc
    ORDER BY Year, Month,day