gpt4 book ai didi

javascript - 需要统计一个连接表的行数 sequelize

转载 作者:行者123 更新时间:2023-11-30 14:24:56 25 4
gpt4 key购买 nike

我正在使用 sequelize 查询 sqlserver 数据库。我有两个表:

data: columns - id, name, team, type

history:columns - id, node, date, status, data_id(foreignkey)

和关系

history.belongsTo(data, {foreignKey: 'data_id'}

data.hasMany(history, {foreignKey: 'data_id'})

我的查询是:

dataModel.findAll({
attributes: ['name'],
include: [{
model:historyModel
}]
})

我的结果是这样的:

[
{
name: "1",
history: [
{
...
}
]
},
{
name: "2",
history: [
{
...
}
]
}
]`

我想要的不是历史数组,而是每个数组中的历史对象计数。 sql 中的查询是:

select data.name, count(history.data_id) count 
from history
inner join data on data.id=history.data_id
group by history.data_id, data.name

最佳答案

你可以这样做:

dataModel.findAll({
attributes: {
include: [[Sequelize.fn("COUNT", Sequelize.col("history.data_id")), "historyModelCount"]]
},
include: [{
model: historyModel, attributes: []
}],
group: ['data.id']
});

关于javascript - 需要统计一个连接表的行数 sequelize,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52093055/

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