社区首页 >问答首页 >在执行其中的条件后缀子查询字段时,未知列

在执行其中的条件后缀子查询字段时,未知列
EN

Stack Overflow用户
提问于 2019-12-23 02:45:34
回答 1查看 880关注 0票数 1

我试图创建一个查询,查找价格低于或等于avgPrice的产品。

下面是示例查询。

代码语言:javascript
代码运行次数:0
复制
await Product.findAll({
    attributes: [
      'id', 'name', 'price',
      [sequelize.literal(`SELECT AVG(price) from Products`), 'avgPrice']
    ],
    where: {
      price: {
        [Sequelize.Op.lte]: sequelize.col('avgPrice')
      }
    }

但是它给出了以下错误。

代码语言:javascript
代码运行次数:0
复制
Unknown column 'Products.avgPrice' in 'where clause'

此外,我还试图复制由sequelize生成的查询,并在mysql中手动执行它,但是它会产生相同的错误。

这不是我们运行查询的方式吗?

编辑:我将查询要求从avgPrice < 100更改为价格< avgPrice。然而,问题的问题是一样的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-23 03:02:34

如果要基于聚合列进行筛选,则需要将WHERE子句更改为HAVING

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59453957

复制
相关文章

相似问题

添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文