Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Railsy pokazują ostatnią wartość po zgrupowaniu

Jeśli dobrze rozumiem, dodajesz nowy rekord z sygnaturą czasową i statusem za każdym razem, gdy aktualizujesz status serwera? Jeśli to się zgadza, musisz GROUP BY server_id i ORDER BY date DESC .

Można to wyrazić w SQL jako

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

lub w ActiveRecord Railsów jako

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

(Na marginesie, polecam nazwać ten model czymś w rodzaju ServerStatus a nie tylko Server - reprezentuje status, a nie sam serwer.)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. jak zmienić nazwę schematu w MySQL?

  2. Laravel:jak dodać klauzulę where za pomocą kreatora zapytań?

  3. Wyszukiwanie emotikonów w MySQL

  4. Struktura bazy danych do przechowywania statystyk według dnia, tygodnia, miesiąca, roku

  5. Jaka jest alternatywa klauzuli LIMIT w JPQL?