.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
を返すのがベストプラクティスです。