在内部连接中用count计数查询
我试图将这个查询转换为查询对象什么是正确的方式做到这一点?
SELECT families.id, count('answers.familyId') FROM families LEFT JOIN answers on families.id = answers.familyId WHERE answers.isActive=1 AND answers.answer=1 GROUP BY families.id HAVING COUNT('answers.familyId')>=6
让我们假设Family
是你的families
续集模型和Answer
是你的answers
续集模型,而sequelize
是你的Sequelize实例
Family.findAll({ attributes: ['*', sequelize.fn('COUNT', sequelize.col('Answers.familyId'))], include: [ { model: Answer, attributes: [], where: { isActive: 1, answer: 1 } } ], group: '"Family.id"', having: sequelize.where(sequelize.fn('COUNT', sequelize.col('Answers.familyId')), '>=', 6) }).then((families) => { // result });
有用的文档链接:
-
sequelize.fn()
-
sequelize.where()
-
sequelize.col()
- Express Session + Angular:无法访问connect.sid cookie
- 如何调整while循环中的variables作用域以匹配CoffeeScript中的所有正则expression式?
- Node.js快速路由器中的正则expression式
- 在express-validator中的错误之后停止执行stream程
- ExpressJS 3.0如何将res.locals传递给玉视图?
- Express.js:这是一个REST风格的界面吗?
- 使用查询来searchtask_name时,通过id查找function已经实现
- Express 4.0内容协商和应用程序结构
- 错误的JavaScript V8的正则expression式引擎时匹配的开始行?