.avg()指定された属性について、一致するすべてのレコードの平均を集計して取得します。
var average = await Something.avg(numericAttrName, criteria);
| 引数 | 型 | 詳細 | |
|---|---|---|---|
| 1 | numericAttrName | 平均が計算される数値属性の名前。 | |
| 2 | criteria | データベース内のレコードを照合するために使用するWaterlineの条件。条件が指定されていない場合、平均はこのモデルのすべてのレコードで計算されます。avgクエリは、skipおよびlimitを使用したページネーションや、selectを使用した射影をサポートしていません。 |
| 型 | 説明 |
|---|---|
| 指定された属性について、一致するすべてのレコードの平均を集計したものです。 |
| 名前 | 型 | いつ? |
|---|---|---|
| UsageError | 無効なものが渡された場合にスローされます。 | |
| AdapterError | データベースアダプターで問題が発生した場合にスローされます。 | |
| Error | 予期しないその他の問題が発生した場合にスローされます。 |
SailsおよびWaterlineでのエラー処理の例については、コンセプト > モデルとORM > エラーをご覧ください。
35歳から45歳までの人が所有する銀行口座の平均残高を取得します。
var averageBalance = await BankAccount.avg('balance')
.where({
ownerAge: { '>=': 35, '<=': 45 }
});
- このメソッドは、
await、プロミスチェーン、または従来のNodeコールバックで使用できます。- MySQLのような一部のデータベースでは、この種のクエリに対して
nullが返される場合があります。ただし、Sails/Waterlineアダプターの作成者は、アプリレベルのコードの一貫性とタイプ安全性のために0を返すのがベストプラクティスです。