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

Zliczanie powiązanych wpisów z Sequelize

Użyj findAll() z include() i sequelize.fn() dla COUNT :

Location.findAll({
    attributes: { 
        include: [[Sequelize.fn("COUNT", Sequelize.col("sensors.id")), "sensorCount"]] 
    },
    include: [{
        model: Sensor, attributes: []
    }]
});

Lub może być konieczne dodanie group a także:

Location.findAll({
    attributes: { 
        include: [[Sequelize.fn("COUNT", Sequelize.col("sensors.id")), "sensorCount"]] 
    },
    include: [{
        model: Sensor, attributes: []
    }],
    group: ['Location.id']
})


  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 - Jak wyszukać dokładne dopasowanie słów za pomocą LIKE?

  2. Jak pobrać dane JSON z MySQL?

  3. Błąd MySQL:2013, Utracono połączenie z serwerem MySQL podczas „odczytu początkowego pakietu komunikacyjnego”, błąd systemowy:0

  4. Jak ustawić parametry ORDER BY za pomocą przygotowanej instrukcji PDO?

  5. Buforowanie zapytań MySQL:ograniczone do maksymalnego rozmiaru pamięci podręcznej 128 MB?