Skip to content

groupBy

Hesapları bir veya daha fazla alana göre gruplar ve grup başına agregasyon çalıştırır.

İmza

typescript
groupBy(options: GroupByOptions<M>): Promise<GroupByResult<M>[]>

Seçenekler

SeçenekTürAçıklama
by(keyof M['fields'])[]Gruplama alanları
whereWhereClause<M>Gruplamadan önce filtrele
_counttrueGrup başına say
_sum{ [alan]: true }Grup başına toplam
_avg{ [alan]: true }Grup başına ortalama
_min{ [alan]: true }Grup başına minimum
_max{ [alan]: true }Grup başına maksimum

Örnekler

typescript
// Tek alan
const byTier = await orm.models.userAccount.groupBy({
  by:     ['tier'],
  _count: true,
  _sum:   { balance: true },
})
// → [
//     { tier: 1, _count: 102, _sum: { balance: 3_000_000n } },
//     { tier: 2, _count: 40,  _sum: { balance: 2_000_000n } },
//   ]

// Birden fazla alan
const breakdown = await orm.models.userAccount.groupBy({
  by:     ['tier', 'isActive'],
  _count: true,
})

Released under the Apache 2.0 License.