Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Rails mostra o valor mais recente após o agrupamento


Se bem entendi, você está adicionando um novo registro com timestamp e status toda vez que atualiza o status de um servidor? Se estiver correto, você precisará GROUP BY server_id e ORDER BY date DESC .

Isso pode ser expresso em SQL como
SELECT * FROM servers GROUP BY server_id ORDER BY date DESC;

ou no ActiveRecord do Rails como
Server.all.group(:server_id).order(:created_at => :desc)

(Como uma nota lateral, eu recomendo chamar este modelo de algo como ServerStatus em vez de apenas Server - está representando o status, não o próprio servidor.)