sql >> Database >  >> RDS >> Mysql

Rails tonen laatste waarde na groepering

Als ik het goed begrijp, voegt u elke keer dat u de status van een server bijwerkt een nieuw record met een tijdstempel en status toe? Als dat correct is, moet u GROUP BY server_id en ORDER BY date DESC .

Dat kan in SQL worden uitgedrukt als

SELECT * FROM servers GROUP BY server_id ORDER BY date DESC;

of in Rails' ActiveRecord als

Server.all.group(:server_id).order(:created_at => :desc)

(Als een kanttekening raad ik aan om dit model iets als ServerStatus te noemen in plaats van alleen Server - het vertegenwoordigt de status, niet de server zelf.)



  1. Selecteer de nieuwste MySQL-gegevens maar uniek resort

  2. opgeslagen procedures met sqlAlchemy

  3. Kun je automatisch een mysqldump-bestand maken dat geen beperkingen oplegt aan externe sleutels?

  4. Hoe een inner join op rijnummer in sql-server te doen?