Fungsi-fungsi ini tersedia dari modul``django.contrib.postgres.aggregates``. Mereka digambarkan dalam lebih rinci dalam PostgreSQL docs.
Catatan
Semua fungsi-fungsi tanpa nama lain awalan, jadi anda harus jelas menyediakan satu. Sebagai contoh:
>>> SomeModel.objects.aggregate(arr=ArrayAgg('somefield'))
{'arr': [0, 1, 2]}
ArrayAgg
¶ArrayAgg
(expression, distinct=False, filter=None, ordering=(), **extra)[sumber]¶Mengembalikan daftar nilai, termasuk null, disambungkan kedalam larik.
distinct
¶Sebuah argumen boolean pilihan yang menentukan jika nilai senarai akan berbeda. Awalan pada False
.
ordering
¶Sebuah string pilihan dari sebuah nama bidang (dengan sebuah awalan "-"
pilihan yang menunjukkan urutan menurun) atau sebuah pernyataan (atau sebuah tuple atau list dari string dan/atau pernyataan) yang menentukan urutan dari unsur dalam daftar hasil.
Contoh:
'some_field'
'-some_field'
from django.db.models import F
F('some_field').desc()
BitAnd
¶BitOr
¶BoolAnd
¶BoolOr
¶JSONBAgg
¶StringAgg
¶StringAgg
(expression, delimiter, distinct=False, filter=None, ordering=())[sumber]¶Mengembalikan nilai-nilai masukan digabungkan kedalam string, dipisah berdasarkan string delimiter
delimiter
¶Diwajibkan argumen. Butuh berupa sebuah string.
distinct
¶Sebuah argumen boolean pilihan yang menentukan jika nilai yang digabungkan akan berbeda. Awalan menjadi False
.
ordering
¶Sebuah string pilihan dari sebuah bidang nama (dengan awalan "-"
pilihan yang menunjukkan urutan menurun) atau sebuah pernyataan (atau sebuah tuple atau list dari string dan/atau pernyataan) yang menentukan urutan dari unsur dalam hasil string.
Contoh-contoh adalah sama seperti untuk ArrayAgg.ordering
.
y
dan x
¶Argumen-argumen y
dan x
untuk semua fungsi-fungsi ini dapat dinamai dari bidang atau sebuah pernyataan mengembalikan data numerik. Kedua diwajibkan.
Corr
¶CovarPop
¶CovarPop
(y, x, sample=False, filter=None)[sumber]¶Mengembalikan populasi kovarian sebagai sebuah float
, atau None
jika tidak ada baris yang cocok.
Mempunyai satu argumen pilihan:
sample
¶Secara awalan CovarPop
mengembalikan populasi kovarian umum. Bagaimanapun, jika sample=True
, nilai kembalian akan berupa contoh populasi kovarian.
RegrAvgX
¶RegrAvgY
¶RegrCount
¶RegrIntercept
¶RegrR2
¶RegrSlope
¶RegrSXX
¶RegrSXY
¶Kami akan gunakan tabel contoh ini
| FIELD1 | FIELD2 | FIELD3 |
|--------|--------|--------|
| foo | 1 | 13 |
| bar | 2 | (null) |
| test | 3 | 13 |
Ini adalah beberapa contoh dari beberapa fungsi-fungsi pengumpulan tujuan-umum:
>>> TestModel.objects.aggregate(result=StringAgg('field1', delimiter=';'))
{'result': 'foo;bar;test'}
>>> TestModel.objects.aggregate(result=ArrayAgg('field2'))
{'result': [1, 2, 3]}
>>> TestModel.objects.aggregate(result=ArrayAgg('field1'))
{'result': ['foo', 'bar', 'test']}
Contoh selanjutnya menunjukkan penggunaan dari fungsi-fungsi pengumpulan statistik. Jalur pokok akan tidak digambarkan (anda dapat membaca tentang ini, sebagai contoh, pada wikipedia):
>>> TestModel.objects.aggregate(count=RegrCount(y='field3', x='field2'))
{'count': 2}
>>> TestModel.objects.aggregate(avgx=RegrAvgX(y='field3', x='field2'),
... avgy=RegrAvgY(y='field3', x='field2'))
{'avgx': 2, 'avgy': 13}
Des 02, 2019