sql >> Database teknologi >  >> RDS >> Mysql

Tæller tilknyttede poster med Sequelize

Brug findAll() med include() og sequelize.fn() for COUNT :

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

Eller du skal muligvis tilføje en group også:

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


  1. Oracle INSERT i to tabeller i én forespørgsel

  2. MySQL-ydelse:MySQL/MariaDB-indekser

  3. Java Stored Procedure vs PL/SQL Stored Procedure

  4. Annoncering af ClusterControl 1.7.4:Klynge-til-klynge-replikering - Ultimativ gendannelse af katastrofer