を探しています group by
Sequelizeを介してクエリを実行し、ドキュメントが見つからないようです。
SELECT column, count(column)
FROM table
GROUP BY column
問題: https://github.com/sequelize/sequelize/issues/348
User.findAll({
group: ['field']
})
私は[email protected]を使用します
次のようなものを探していると思います:
Table.findAll({
attributes: ['column1',
sequelize.fn('count', sequelize.col('column2'))],
group: ["Table.column1"]
}).success(function (result) { });
更新: Sequelizeの新しいバージョンは。successの代わりに。thenを使用します。
Table.findAll({
attributes: ['column1',
sequelize.fn('count', sequelize.col('column2'))],
group: ["Table.column1"]
}).then(function (result) { });
カウント_sequelize ORM
_でグループ化
_'field'
_-この文字列の名前を変更できます。データベース内のfield(column)
です
_'count'
_-count
でsequelize
を取得するために必要な予約文字列
_'cnt'
_-この文字列の名前を変更できます。出力ですcount
バージョンの続き_3.25.0
_
_User.findAll({
attributes: ['field', [sequelize.fn('count', sequelize.col('field')), 'cnt']],
group: ['field'],
})
_
これを試して -
Table.count(
{
attributes: ['column'],
group: 'column',
}
例:グループ化された関数列に便利なエイリアスを追加する方法。
これは、コメントで適切にフォーマットされないため、主に別の応答としてこれを行いました...そうでなければ、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);
}
YIELDS:
{ some_id: 42, some_count_sum: 100 },
{ some_id: 43, some_count_sum: 150 }
...
etc.
ES6標準を使用すると、コードは次のようになります。
Table.findAll({ attributes: ['column1', sequelize.fn('count', sequelize.col('column2'))], group: ["Table.column1"] }).then( (result) => { })
**これを試して*
Table.findAll({
group: ['column']
})