Django 2.1 - PostgreSQL specific aggregation functions
PostgreSQL विशिष्ट एकत्रीकरण कार्य

PostgreSQL विशिष्ट एकत्रीकरण कार्य
इन कार्यों को पोस्टग्रेक्यूएल डॉक्स में अधिक विस्तार से वर्णित किया गया है।
ध्यान दें
सभी फ़ंक्शन डिफ़ॉल्ट उपनाम के बिना आते हैं, इसलिए आपको स्पष्ट रूप से एक प्रदान करना होगा। उदाहरण के लिए:
>>> SomeModel.objects.aggregate(arr=ArrayAgg('somefield')) {'arr': [0, 1, 2]}
सामान्य-प्रयोजन एकत्रीकरण कार्य
ArrayAgg
-
class ArrayAgg(expression, distinct=False, filter=None, **extra)
[source] -
मानों की सूची लौटाता है, जिसमें नल, एक सरणी में सम्मिलित है।
-
distinct
-
Django 2.0 में नया:
एक वैकल्पिक बूलियन तर्क जो यह निर्धारित करता है कि सरणी मान अलग-अलग होंगे।
False
करने के लिए चूक।
-
BitAnd
-
class BitAnd(expression, filter=None, **extra)
[source] -
सभी गैर-शून्य इनपुट मानों की बिटवाइंड
AND
सभी का कोईint
देता है, या यदि सभी मान शून्य हैं।
BitOr
-
class BitOr(expression, filter=None, **extra)
[source] -
सभी गैर-शून्य इनपुट मानों की बिटवाइड
OR
सभी का एकint
लौटाता है, याNone
यदि सभी मान शून्य हैं।
BoolAnd
-
class BoolAnd(expression, filter=None, **extra)
[source] -
True
, यदि सभी इनपुट मान सही हैं, तोNone
यदि सभी मान शून्य हैं या यदि कोई मान नहीं हैं, तोFalse
।
BoolOr
-
class BoolOr(expression, filter=None, **extra)
[source] -
True
अगर कम से कम एक इनपुट वैल्यू सही है, तोNone
यदि सभी मान शून्य हैं या यदि कोई वैल्यू नहीं है, तोFalse
।
JSONBAgg
-
class JSONBAgg(expressions, filter=None, **extra)
[source] -
JSON
सरणी के रूप में इनपुट मान लौटाता है। PostgreSQL ≥ 9.5 की आवश्यकता है।
StringAgg
-
class StringAgg(expression, delimiter, distinct=False, filter=None)
[source] -
एक स्ट्रिंग में समाप्त इनपुट मान लौटाता है, जिसे
delimiter
स्ट्रिंग द्वारा अलग किया जाताdelimiter
।-
delimiter
-
आवश्यक तर्क। एक तार होने की जरूरत है।
-
distinct
-
एक वैकल्पिक बूलियन तर्क जो यह निर्धारित करता है कि समवर्ती मान अलग-अलग होंगे।
False
करने के लिए चूक।
-
आँकड़ों के लिए कार्य करना
y
और
x
इन सभी कार्यों के लिए तर्क
y
और
x
एक क्षेत्र या एक संख्यात्मक डेटा लौटाने वाली अभिव्यक्ति का नाम हो सकते हैं।
दोनों की आवश्यकता है।
Corr
-
class Corr(y, x, filter=None)
[source] -
यदि कोई मिलान पंक्तियाँ नहीं हैं, तो
float
रूप में सहसंबंध गुणांक लौटाता है, याNone
भी नहीं।
CovarPop
-
class CovarPop(y, x, sample=False, filter=None)
[source] -
लौकिक के रूप में जनसंख्या सहसंयोजक लौटाता है, या
None
अगर कोई मेल पंक्तियों नहीं हैं।एक वैकल्पिक तर्क है:
-
sample
-
डिफ़ॉल्ट रूप से
CovarPop
सामान्य जनसंख्याCovarPop
लौटाता है। हालांकि, यदिsample=True
, तो वापसी मूल्य नमूना जनसंख्या सहसंयोजक होगा।
-
RegrAvgX
-
class RegrAvgX(y, x, filter=None)
[source] -
स्वतंत्र चर (
sum(x)/N
) के औसत कोfloat
रूप में लौटाता है, या यदिNone
भी मेल नहीं खाता है।
RegrAvgY
-
class RegrAvgY(y, x, filter=None)
[source] -
एक
float
रूप में आश्रित चर (sum(y)/N
) के औसत को लौटाता है, या यदिNone
भी मेल नहीं खाता है।
RegrCount
-
class RegrCount(y, x, filter=None)
[source] -
इनपुट पंक्तियों की संख्या का एक
int
देता है जिसमें दोनों अभिव्यक्तियाँ शून्य नहीं हैं।
RegrIntercept
-
class RegrIntercept(y, x, filter=None)
[source] -
(x, y)
जोड़े द्वाराfloat
रूप में निर्धारित किए गए न्यूनतम-वर्ग-फिट रैखिक समीकरण के y- अवरोधन को लौटाता है, या यदि कोई मिलान पंक्तियाँ नहीं हैं, तोNone
नहीं।
RegrR2
-
class RegrR2(y, x, filter=None)
[source] -
एक
float
रूप में सहसंबंध गुणांक के वर्ग को लौटाता है, याNone
अगर कोई मेल पंक्तियाँ नहीं हैं।
RegrSlope
-
class RegrSlope(y, x, filter=None)
[source] -
(x, y)
युग्मों द्वारा निर्धारित न्यूनतम-वर्गों-फिट रैखिक समीकरण की ढलान कोfloat
रूप में लौटाता है, या यदि कोई मेल नहीं खाता है।
RegrSXX
-
class RegrSXX(y, x, filter=None)
[source] -
रिटर्न
sum(x^2) - sum(x)^2/N
(स्वतंत्र चर के "वर्गों का योग") एकfloat
रूप में, याNone
यदि कोई मेल पंक्तियाँ नहीं हैं।
RegrSXY
-
class RegrSXY(y, x, filter=None)
[source] -
रिटर्न
sum(x*y) - sum(x) * sum(y)/N
("स्वतंत्र समय निर्भर चर के उत्पादों की राशि") एकfloat
रूप में, याNone
अगर कोई मिलान पंक्तियाँ नहीं हैं।
RegrSYY
-
class RegrSYY(y, x, filter=None)
[source] -
रिटर्न
sum(y^2) - sum(y)^2/N
(आश्रित चर के "वर्गों का योग") एकfloat
रूप में, याNone
अगर कोई मेल पंक्तियाँ नहीं हैं।
उपयोग के उदाहरण
हम इस उदाहरण तालिका का उपयोग करेंगे:
| FIELD1 | FIELD2 | FIELD3 | |--------|--------|--------| | foo | 1 | 13 | | bar | 2 | (null) | | test | 3 | 13 |
यहां कुछ सामान्य-उद्देश्य एकत्रीकरण कार्यों के कुछ उदाहरण दिए गए हैं:
>>> 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']}
अगला उदाहरण सांख्यिकीय कुल कार्यों का उपयोग दर्शाता है। अंतर्निहित गणित का वर्णन नहीं किया जाएगा (आप इस बारे में पढ़ सकते हैं, उदाहरण के लिए, 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}