关于group分组的问题

来源:11-3 MySQL group分组查询

玮哥很惆怅

2019-07-08

老师 Sequelize 要进行 having 查询应该怎么写呢,想实现这样一段sql

SELECT `address`, AVG(`math`), COUNT(`id`) FROM `student`
 WHERE `math` > 70
 GROUP BY `address`
 HAVING COUNT(id) > 2
 await Student.findAll( {
        attributes:[
            'address',
            [Sequelize.fn('AVG', Sequelize.col('math')), 'math'],
            [Sequelize.fn('COUNT', Sequelize.col('id')), 'id']
        ],
        where: {
            math: {
                [Op.gt]:70
            }
        },
        group: 'address',
        having: ['COUNT(?)>?','id',2],
        raw:true
     })    

不加 having 可以正常获取数据,加了having后,就抱错,抱错代码 Support for literal replacements in the where object has been removed.
百度查了半天,上面的答案都是错的,请问老师有没有什么好的解决方案呢?sequelize 官方文档貌似也没有 having 相关的案例

写回答

1回答

7七月

2019-07-08

说实话。。。这样的复杂查询我都直接写sql了。。。不建议用ORM做复杂查询,直接原生查询吧

0
1
玮哥很惆怅
好的,谢谢老师
2019-07-08
共1条回复

Node.js+Koa2+MySQL打造前后端分离精品项目《旧岛》

理解异步编程本质/培养面向对象思维,独立完成Node.js服务端开发

2229 学习 · 881 问题

查看课程