Jika saya mengerti dengan benar, Anda menambahkan catatan baru dengan stempel waktu dan status setiap kali Anda memperbarui status server? Jika itu benar, Anda harus GROUP BY server_id
dan ORDER BY date DESC
.
Itu dapat dinyatakan dalam SQL sebagai
SELECT * FROM servers GROUP BY server_id ORDER BY date DESC;
atau di ActiveRecord Rails sebagai
Server.all.group(:server_id).order(:created_at => :desc)
(Sebagai catatan tambahan, saya sarankan untuk memanggil model ini seperti ServerStatus
bukan hanya Server
- itu mewakili status, bukan server itu sendiri.)