我正在通過Sequelize尋找group by
查詢,似乎無法找到任何文檔。group by by sequelize是如何工作的?
SELECT column, count(column)
FROM table
GROUP BY column
我正在通過Sequelize尋找group by
查詢,似乎無法找到任何文檔。group by by sequelize是如何工作的?
SELECT column, count(column)
FROM table
GROUP BY column
問題:https://github.com/sequelize/sequelize/issues/348
User.findAll({
group: ['field']
})
我想你尋找的是這樣的:
Table.findAll({
attributes: ['column1',
sequelize.fn('count', sequelize.col('column2'))],
group: ["Table.column1"]
}).success(function (result) { });
更新:較新版本的Sequelize使用。然後而不是。成功。
Table.findAll({
attributes: ['column1',
sequelize.fn('count', sequelize.col('column2'))],
group: ["Table.column1"]
}).then(function (result) { });
例如:如何爲分組函數列添加一個方便的別名。
我這樣做是一個單獨的迴應,主要是因爲它不會在評論中格式良好,否則我只會將它添加到Sampat的回答中。
function getSumsBySomeId() {
const criteria = {
attributes: ['some_id', [sequelize.fn('sum', sequelize.col('some_count')), 'some_count_sum']],
group: ['some_id'],
raw: true
};
return Table.getAll(criteria);
}
得出:
{ some_id: 42, some_count_sum: 100 },
{ some_id: 43, some_count_sum: 150 }
...
etc.
集團通過與伯爵sequelize ORM
'field'
- 您可以重命名這個字符串,它是你的field(column)
數據庫
'count'
- 保留字符串需要得到count
在sequelize
'cnt'
- 您可以重命名這個字符串,它是你的輸出count
Sequelize版本3.25.0
User.findAll({
attributes: ['field', [sequelize.fn('count', sequelize.col('field')), 'cnt']],
group: ['field'],
})
http://sequelizejs.com/docs/latest/models#block-33-line-0 –
雖然它可以分組它不能執行以上。我正在使用原始查詢 – user964287