Mysql
 sql >> база данни >  >> RDS >> Mysql

Включване, избор, сортиране, ограничаване от множество модели (една заявка)

Ето как включих всички необходими модели, тази заявка се превежда в 5 sql заявки, тъй като предварителното зареждане не се присъединява (изпълнява се в отделна заявка).

Message.joins("LEFT JOIN messages AS m ON messages.id != m.id 
              AND m.conversation_id = messages.conversation_id 
              AND messages.created_at < m.created_at")
       .where('m.id IS NULL')
       .joins("INNER JOIN conversation_participants AS cp 
              ON cp.conversation_id = messages.conversation_id 
              AND cp.user_id = #{user_id}")
       .order("cp.seen, cp.updated_at DESC")
       .limit(5)
       .includes(:sender)
       .includes(conversation: [{conversation_participants: :user}])



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Секции на конфигурационния файл на Mysql

  2. SQL заявка, Избиране на 5 последни във всяка група

  3. Без диалектно съпоставяне за тип JDBC:1111

  4. заявка за показване на четири произволни данни от базата данни

  5. Как да получите записи от днес в MySQL