如何在Rails ActiveRecords中创建表名的别名

Pre*_*rem 0 ruby sql activerecord ruby-on-rails

select user_id,  max(perception_score) as max, min(perception_score) as min from temp_user_notes group by user_id as t1;    
Run Code Online (Sandbox Code Playgroud)

我正在尝试在 Rails Active Record 中转换此 sql 查询,但很难创建别名

Dom*_*mon 6

您可以在 ActiveRecord 的方法中将该表别名为其他名称from

例如,您的查询的一部分可能是:

TempUserNote.
  select("t1.user_id, (t1.max - t1.min) as std_deviation").
  from(
    TempUserNote.
      select("user_id, max(perception_score) as max, min(perception_score) as min").
      group(:user_id),
    :t1
  )
Run Code Online (Sandbox Code Playgroud)