相关疑难解决方法(0)

带有续集的不同计数

我正在尝试使用 sequelize 获得不同的计数,例如

'SELECT COUNT(DISTINCT(age)) AS `count` FROM `Persons` AS `Person`'
Run Code Online (Sandbox Code Playgroud)

只要我使用原始查询,我就会得到想要的结果。但是,一旦我更改为 sequelize count 函数,Postgres 中的查询就会中断:

Person.count({distinct:'age'}).then(...);
Run Code Online (Sandbox Code Playgroud)

结果

'SELECT COUNT(DISTINCT(*)) AS `count` FROM `Persons` AS `Person`'
Run Code Online (Sandbox Code Playgroud)

这会导致语法错误。不同帖子中描述的解决方案,例如如何使用 sequelize 获得不同的计数?不工作,除非您添加一个包含语句或一个 where 子句,而我在这种特殊情况下没有。

有没有人知道一个合适的解决方案?

count node.js sequelize.js

3
推荐指数
1
解决办法
9673
查看次数

需要计算连接表的行数续集

我用来sequelize查询数据库sqlserver。我有两张桌子:

data: columns - id, name, team, type

history:columns - id, node, date, status, data_id(foreignkey)
Run Code Online (Sandbox Code Playgroud)

和一个关系

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

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

我的查询是:

dataModel.findAll({
    attributes: ['name'],
    include: [{
        model:historyModel
    }]
})
Run Code Online (Sandbox Code Playgroud)

我的结果如下所示:

[
    {
         name: "1",
         history: [
             {
                 ...
             }
         ]
    },
    {
         name: "2",
         history: [
             {
                 ...
             }
         ]
    }
]`
Run Code Online (Sandbox Code Playgroud)

我希望不是历史数组,而是每个数组中的历史对象的数量。中的查询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
Run Code Online (Sandbox Code Playgroud)

javascript node.js sequelize.js

2
推荐指数
1
解决办法
8356
查看次数

标签 统计

node.js ×2

sequelize.js ×2

count ×1

javascript ×1