Ако разбирам правилно, добавяте нов запис с времева марка и състояние всеки път, когато актуализирате състоянието на сървър? Ако това е правилно, ще трябва да GROUP BY server_id
и ORDER BY date DESC
.
Това може да бъде изразено в SQL като
SELECT * FROM servers GROUP BY server_id ORDER BY date DESC;
или в ActiveRecord на Rails като
Server.all.group(:server_id).order(:created_at => :desc)
(Като странична бележка, бих препоръчал да наричате този модел нещо като ServerStatus
а не просто Server
- представлява състоянието, а не самия сървър.)