Для людей, пришедших сюда через 2,5 года после того, как меня спросили, я смог сделать это с помощью Rails 3.2.13 и Ruby 1.9.3-p194:
result=ActiveRecord::Base.connection.select_all("SELECT id AS 'user_id', first_name AS 'name' FROM users LIMIT 1")
result.each do |row|
row.each do |k, v|
puts "column #{k} contains #{v}"
end
end
Результат:
column user_id contains 1
column name contains Me
[{"user_id"=>1, "name"=>"Me"}]
Доступ к нему:
result.first["user_id"]
И если есть 3 результата, и вы хотите получить 2-й:
result[1]["user_id"]