按created_at和updated_at的顺序选择两次记录

时间:2013-11-01 09:55:28

标签: mysql sql ruby-on-rails activerecord

我想根据mysql表中的两个字段选择两次记录。

例如我的表有以下数据:

 name,   created_at,  updated_at
"Baran", "2013-09-10 23:56:56", "2013-10-10 23:00:00"

我想按降序排列结果:

name,date
Baran,"2013-10-10 23:00:00"
Baran,"2013-09-10 23:56:56"

是否可能,如果是,那么请建议我如何实现这一目标?

2 个答案:

答案 0 :(得分:1)

(SELECT name, created_at as [date] FROM mytable)
  UNION all
(SELECT name, updated_at as [date] FROM mytable)
  ORDER BY name, [date] desc;

答案 1 :(得分:0)

您可以照常选择记录并在Ruby中创建“重复”:

User.all.flat_map { |user|
  [
    {name: user.name, date: user.created_at},
    {name: user.name, date: user.updated_at}
  ]
}
#=> [{:name=>"Baran", :date=>"2013-09-10 23:56:56"}, {:name=>"Baran", :date=>"2013-10-10 23:00:00"}]