gpt4 book ai didi

node.js - Sequelize 加入 group by

转载 作者:行者123 更新时间:2023-12-03 22:42:50 25 4
gpt4 key购买 nike

我想做的事最好用一个小例子来说明。

假设我有以下表格:

表项

  • id
  • 名称

  • 表审查
  • id
  • 评级
  • itemId

  • 显然,一个项目有很多评论。

    如何编写返回以下两列的查询:
  • 项目名称 ( Item.name )
  • 项目所有评分的总和 ( Sequelize.fn('sum', sequelize.col('rating')) )

  • 我想使用 ORM。

    最佳答案

    尝试使用这个:

    Review.belongsTo(Item, {foreignKey:'itemId', as : 'reviews'});
    Item.hasMany(Review, {foreignkey:'id'});

    Item.findAll({attributes:[['id', 'id'],['name', 'name'],[Sequelize.fn('SUM', 'rating'), 'total']], include:[{model:Review, as : 'reviews', required:true}], group:['id'], order:[Sequelize.fn('SUM', 'rating'), 'DESC']}).success(function(result){
    // return array;
    // total -----> result[i].total
    // item name -----> result[i].name
    })

    关于node.js - Sequelize 加入 group by,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27643003/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com