web-dev-qa-db-ja.com

グループ化は続編でどのように機能しますか?

を探しています group by Sequelizeを介してクエリを実行し、ドキュメントが見つからないようです。

SELECT column, count(column)  
FROM table 
GROUP BY column
30
user964287

問題: https://github.com/sequelize/sequelize/issues/348

User.findAll({
 group: ['field']
})

私は[email protected]を使用します

45
ahiipsa

次のようなものを探していると思います:

 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) { });
43
Sampat Badhe

カウント_sequelize ORM_でグループ化

_'field'_-この文字列の名前を変更できます。データベース内のfield(column)です

_'count'_-countsequelizeを取得するために必要な予約文字列

_'cnt'_-この文字列の名前を変更できます。出力ですcount

バージョンの続き_3.25.0_

_User.findAll({
      attributes: ['field', [sequelize.fn('count', sequelize.col('field')), 'cnt']],
      group: ['field'],
})
_
10
аlex dykyі

これを試して -

Table.count(
{
   attributes: ['column'], 
   group: 'column',
} 
2
codejunkie

例:グループ化された関数列に便利なエイリアスを追加する方法。

これは、コメントで適切にフォーマットされないため、主に別の応答としてこれを行いました...そうでなければ、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.
2
treejanitor

ES6標準を使用すると、コードは次のようになります。

Table.findAll({ attributes: ['column1', sequelize.fn('count', sequelize.col('column2'))],   group: ["Table.column1"]  }).then( (result) => { })

**これを試して*

Table.findAll({
     group: ['column']
})
0
Kusal Kithmal