{"title":"PostgreSQL 特有聚合函数","version":"5.2","locale":"zh-hans","docname":"ref/contrib/postgres/aggregates","url":"/zh-hans/5.2/ref/contrib/postgres/aggregates/","canonical":"https://djangodocs.dev/zh-hans/5.2/ref/contrib/postgres/aggregates/","summary":"这些功能可以从 django.contrib.postgres.aggregates 模块中获得。在 PostgreSQL docs 中对这些功能有更详细的描述。 Note 所有函数都没有默认别名，因此您必须显式提供一个。例如： Python console Copy >>> SomeModel . objects .…","html":"<span id=\"postgresql-specific-aggregation-functions\"></span><h1>PostgreSQL 特有聚合函数<a class=\"heading-anchor\" href=\"#module-django.contrib.postgres.aggregates\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<p>这些功能可以从 <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.postgres.aggregates</span></code> 模块中获得。在 <a class=\"reference external\" href=\"https://www.postgresql.org/docs/current/functions-aggregate.html\">PostgreSQL docs</a> 中对这些功能有更详细的描述。</p>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Note</p>\n<p>所有函数都没有默认别名，因此您必须显式提供一个。例如：</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">SomeModel</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">aggregate</span><span class=\"p\">(</span><span class=\"n\">arr</span><span class=\"o\">=</span><span class=\"n\">ArrayAgg</span><span class=\"p\">(</span><span class=\"s2\">&quot;somefield&quot;</span><span class=\"p\">))</span>\n<span class=\"go\">{&#39;arr&#39;: [0, 1, 2]}</span>\n</code></pre></div>\n</aside>\n<aside class=\"admonition-common-aggregate-options admonition\">\n<p class=\"admonition-title\">通用聚合选项</p>\n<p>所有的聚合都有 <a class=\"reference internal\" href=\"/zh-hans/5.2/ref/models/querysets/#aggregate-filter\"><span class=\"std std-ref\">filter</span></a> 关键字参数，大多数也有 <a class=\"reference internal\" href=\"/zh-hans/5.2/ref/models/querysets/#aggregate-default\"><span class=\"std std-ref\">default</span></a> 关键字参数。</p>\n</aside>\n<section id=\"general-purpose-aggregation-functions\">\n<h2>通用聚合函数<a class=\"heading-anchor\" href=\"#general-purpose-aggregation-functions\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<section id=\"arrayagg\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">ArrayAgg</span></code><a class=\"heading-anchor\" href=\"#arrayagg\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.postgres.aggregates.ArrayAgg\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">ArrayAgg</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">expression</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">distinct</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">False</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">filter</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">default</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">order_by</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">()</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">extra</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.aggregates.ArrayAgg\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>返回一个值的列表，包括空值，串联成一个数组，如果没有值，则返回 <code class=\"docutils literal notranslate\"><span class=\"pre\">default</span></code>。</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.postgres.aggregates.ArrayAgg.distinct\">\n<span class=\"sig-name descname\"><span class=\"pre\">distinct</span></span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.aggregates.ArrayAgg.distinct\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>一个可选的布尔参数，用于确定数组值是否会被去重。默认值为 <code class=\"docutils literal notranslate\"><span class=\"pre\">False</span></code>。</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.postgres.aggregates.ArrayAgg.order_by\">\n<span class=\"sig-name descname\"><span class=\"pre\">order_by</span></span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.aggregates.ArrayAgg.order_by\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><aside class=\"version-note version-added\" data-version=\"5.2\">\n<p class=\"version-note-title\">New in Django 5.2</p></aside>\n<p>可选的字段名字符串（可选的 <code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;-&quot;</span></code> 前缀表示降序）或表达式（或字符串和／或表达式的元组或列表），指定结果列表中元素的顺序。</p>\n<p>举例：</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.db.models</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">F</span>\n\n<span class=\"n\">ArrayAgg</span><span class=\"p\">(</span><span class=\"s2\">&quot;a_field&quot;</span><span class=\"p\">,</span> <span class=\"n\">order_by</span><span class=\"o\">=</span><span class=\"s2\">&quot;-some_field&quot;</span><span class=\"p\">)</span>\n<span class=\"n\">ArrayAgg</span><span class=\"p\">(</span><span class=\"s2\">&quot;a_field&quot;</span><span class=\"p\">,</span> <span class=\"n\">order_by</span><span class=\"o\">=</span><span class=\"n\">F</span><span class=\"p\">(</span><span class=\"s2\">&quot;some_field&quot;</span><span class=\"p\">)</span><span class=\"o\">.</span><span class=\"n\">desc</span><span class=\"p\">())</span>\n</code></pre></div>\n</dd></dl>\n\n<aside class=\"version-note version-deprecated\" data-version=\"5.2\">\n<p class=\"version-note-title\">Deprecated since Django 5.2</p><p><span class=\"versionmodified deprecated\">Deprecated since version 5.2: </span>The <code class=\"docutils literal notranslate\"><span class=\"pre\">ordering</span></code> keyword argument is deprecated. Use\n<a class=\"reference internal\" href=\"#django.contrib.postgres.aggregates.ArrayAgg.order_by\" title=\"django.contrib.postgres.aggregates.ArrayAgg.order_by\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">ArrayAgg.order_by</span></code></a> instead.</p>\n</aside>\n</dd></dl>\n\n</section>\n<section id=\"bitand\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">BitAnd</span></code><a class=\"heading-anchor\" href=\"#bitand\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.postgres.aggregates.BitAnd\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">BitAnd</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">expression</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">filter</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">default</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">extra</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.aggregates.BitAnd\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>返回所有非空输入值的位式 <code class=\"docutils literal notranslate\"><span class=\"pre\">AND</span></code> 的 <code class=\"docutils literal notranslate\"><span class=\"pre\">int</span></code>，如果所有值为空，则返回 <code class=\"docutils literal notranslate\"><span class=\"pre\">default</span></code>。</p>\n</dd></dl>\n\n</section>\n<section id=\"bitor\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">BitOr</span></code><a class=\"heading-anchor\" href=\"#bitor\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.postgres.aggregates.BitOr\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">BitOr</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">expression</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">filter</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">default</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">extra</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.aggregates.BitOr\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>返回所有非空输入值的位式 <code class=\"docutils literal notranslate\"><span class=\"pre\">OR</span></code> 的 <code class=\"docutils literal notranslate\"><span class=\"pre\">int</span></code>，如果所有值为空，则返回 <code class=\"docutils literal notranslate\"><span class=\"pre\">default</span></code>。</p>\n</dd></dl>\n\n</section>\n<section id=\"bitxor\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">BitXor</span></code><a class=\"heading-anchor\" href=\"#bitxor\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.postgres.aggregates.BitXor\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">BitXor</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">expression</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">filter</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">default</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">extra</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.aggregates.BitXor\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>返回所有非空输入值的按位异或（<code class=\"docutils literal notranslate\"><span class=\"pre\">XOR</span></code>）的整数，如果所有值都为空，则返回 <code class=\"docutils literal notranslate\"><span class=\"pre\">default</span></code>。需要 PostgreSQL 14+。</p>\n</dd></dl>\n\n</section>\n<section id=\"booland\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">BoolAnd</span></code><a class=\"heading-anchor\" href=\"#booland\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.postgres.aggregates.BoolAnd\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">BoolAnd</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">expression</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">filter</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">default</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">extra</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.aggregates.BoolAnd\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>如果所有输入值为真，返回 <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code>，如果所有值为空或没有值，返回 <code class=\"docutils literal notranslate\"><span class=\"pre\">default</span></code>，否则返回 <code class=\"docutils literal notranslate\"><span class=\"pre\">False</span></code>。</p>\n<p>使用实例：</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"k\">class</span><span class=\"w\"> </span><span class=\"nc\">Comment</span><span class=\"p\">(</span><span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">Model</span><span class=\"p\">):</span>\n    <span class=\"n\">body</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">TextField</span><span class=\"p\">()</span>\n    <span class=\"n\">published</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">BooleanField</span><span class=\"p\">()</span>\n    <span class=\"n\">rank</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">IntegerField</span><span class=\"p\">()</span>\n</code></pre></div>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.db.models</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">Q</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.contrib.postgres.aggregates</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">BoolAnd</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">Comment</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">aggregate</span><span class=\"p\">(</span><span class=\"n\">booland</span><span class=\"o\">=</span><span class=\"n\">BoolAnd</span><span class=\"p\">(</span><span class=\"s2\">&quot;published&quot;</span><span class=\"p\">))</span>\n<span class=\"go\">{&#39;booland&#39;: False}</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">Comment</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">aggregate</span><span class=\"p\">(</span><span class=\"n\">booland</span><span class=\"o\">=</span><span class=\"n\">BoolAnd</span><span class=\"p\">(</span><span class=\"n\">Q</span><span class=\"p\">(</span><span class=\"n\">rank__lt</span><span class=\"o\">=</span><span class=\"mi\">100</span><span class=\"p\">)))</span>\n<span class=\"go\">{&#39;booland&#39;: True}</span>\n</code></pre></div>\n</dd></dl>\n\n</section>\n<section id=\"boolor\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">BoolOr</span></code><a class=\"heading-anchor\" href=\"#boolor\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.postgres.aggregates.BoolOr\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">BoolOr</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">expression</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">filter</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">default</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">extra</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.aggregates.BoolOr\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>如果至少有一个输入值为真，则返回 <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code>，如果所有值都为空或没有值，则返回 <code class=\"docutils literal notranslate\"><span class=\"pre\">default</span></code>，否则返回 <code class=\"docutils literal notranslate\"><span class=\"pre\">False</span></code>。</p>\n<p>使用实例：</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"k\">class</span><span class=\"w\"> </span><span class=\"nc\">Comment</span><span class=\"p\">(</span><span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">Model</span><span class=\"p\">):</span>\n    <span class=\"n\">body</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">TextField</span><span class=\"p\">()</span>\n    <span class=\"n\">published</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">BooleanField</span><span class=\"p\">()</span>\n    <span class=\"n\">rank</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">IntegerField</span><span class=\"p\">()</span>\n</code></pre></div>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.db.models</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">Q</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.contrib.postgres.aggregates</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">BoolOr</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">Comment</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">aggregate</span><span class=\"p\">(</span><span class=\"n\">boolor</span><span class=\"o\">=</span><span class=\"n\">BoolOr</span><span class=\"p\">(</span><span class=\"s2\">&quot;published&quot;</span><span class=\"p\">))</span>\n<span class=\"go\">{&#39;boolor&#39;: True}</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">Comment</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">aggregate</span><span class=\"p\">(</span><span class=\"n\">boolor</span><span class=\"o\">=</span><span class=\"n\">BoolOr</span><span class=\"p\">(</span><span class=\"n\">Q</span><span class=\"p\">(</span><span class=\"n\">rank__gt</span><span class=\"o\">=</span><span class=\"mi\">2</span><span class=\"p\">)))</span>\n<span class=\"go\">{&#39;boolor&#39;: False}</span>\n</code></pre></div>\n</dd></dl>\n\n</section>\n<section id=\"jsonbagg\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">JSONBAgg</span></code><a class=\"heading-anchor\" href=\"#jsonbagg\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.postgres.aggregates.JSONBAgg\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">JSONBAgg</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">expressions</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">distinct</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">False</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">filter</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">default</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">order_by</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">()</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">extra</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.aggregates.JSONBAgg\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>返回输入值为 <code class=\"docutils literal notranslate\"><span class=\"pre\">JSON</span></code> 数组，如果没有值，则返回 <code class=\"docutils literal notranslate\"><span class=\"pre\">default</span></code>。你可以使用 <a class=\"reference internal\" href=\"/zh-hans/5.2/topics/db/queries/#std-fieldlookup-jsonfield.key\"><code class=\"xref std std-lookup docutils literal notranslate\"><span class=\"pre\">key</span> <span class=\"pre\">和</span> <span class=\"pre\">index</span> <span class=\"pre\">查找</span></code></a> 来查询结果。</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.postgres.aggregates.JSONBAgg.distinct\">\n<span class=\"sig-name descname\"><span class=\"pre\">distinct</span></span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.aggregates.JSONBAgg.distinct\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>一个可选的布尔参数，用于确定数组值是否会被去重。默认值为 <code class=\"docutils literal notranslate\"><span class=\"pre\">False</span></code>。</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.postgres.aggregates.JSONBAgg.order_by\">\n<span class=\"sig-name descname\"><span class=\"pre\">order_by</span></span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.aggregates.JSONBAgg.order_by\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><aside class=\"version-note version-added\" data-version=\"5.2\">\n<p class=\"version-note-title\">New in Django 5.2</p></aside>\n<p>可选的字段名字符串（可选的 <code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;-&quot;</span></code> 前缀表示降序）或表达式（或字符串和／或表达式的元组或列表），指定结果列表中元素的顺序。</p>\n<p>Examples are the same as for <a class=\"reference internal\" href=\"#django.contrib.postgres.aggregates.ArrayAgg.order_by\" title=\"django.contrib.postgres.aggregates.ArrayAgg.order_by\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">ArrayAgg.order_by</span></code></a>.</p>\n</dd></dl>\n\n<p>使用实例：</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"k\">class</span><span class=\"w\"> </span><span class=\"nc\">Room</span><span class=\"p\">(</span><span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">Model</span><span class=\"p\">):</span>\n    <span class=\"n\">number</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">IntegerField</span><span class=\"p\">(</span><span class=\"n\">unique</span><span class=\"o\">=</span><span class=\"kc\">True</span><span class=\"p\">)</span>\n\n\n<span class=\"k\">class</span><span class=\"w\"> </span><span class=\"nc\">HotelReservation</span><span class=\"p\">(</span><span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">Model</span><span class=\"p\">):</span>\n    <span class=\"n\">room</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">ForeignKey</span><span class=\"p\">(</span><span class=\"s2\">&quot;Room&quot;</span><span class=\"p\">,</span> <span class=\"n\">on_delete</span><span class=\"o\">=</span><span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">CASCADE</span><span class=\"p\">)</span>\n    <span class=\"n\">start</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">DateTimeField</span><span class=\"p\">()</span>\n    <span class=\"n\">end</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">DateTimeField</span><span class=\"p\">()</span>\n    <span class=\"n\">requirements</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">JSONField</span><span class=\"p\">(</span><span class=\"n\">blank</span><span class=\"o\">=</span><span class=\"kc\">True</span><span class=\"p\">,</span> <span class=\"n\">null</span><span class=\"o\">=</span><span class=\"kc\">True</span><span class=\"p\">)</span>\n</code></pre></div>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.contrib.postgres.aggregates</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">JSONBAgg</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">Room</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">annotate</span><span class=\"p\">(</span>\n<span class=\"gp\">... </span>    <span class=\"n\">requirements</span><span class=\"o\">=</span><span class=\"n\">JSONBAgg</span><span class=\"p\">(</span>\n<span class=\"gp\">... </span>        <span class=\"s2\">&quot;hotelreservation__requirements&quot;</span><span class=\"p\">,</span>\n<span class=\"gp\">... </span>        <span class=\"n\">order_by</span><span class=\"o\">=</span><span class=\"s2\">&quot;-hotelreservation__start&quot;</span><span class=\"p\">,</span>\n<span class=\"gp\">... </span>    <span class=\"p\">)</span>\n<span class=\"gp\">... </span><span class=\"p\">)</span><span class=\"o\">.</span><span class=\"n\">filter</span><span class=\"p\">(</span><span class=\"n\">requirements__0__sea_view</span><span class=\"o\">=</span><span class=\"kc\">True</span><span class=\"p\">)</span><span class=\"o\">.</span><span class=\"n\">values</span><span class=\"p\">(</span><span class=\"s2\">&quot;number&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;requirements&quot;</span><span class=\"p\">)</span>\n<span class=\"go\">&lt;QuerySet [{&#39;number&#39;: 102, &#39;requirements&#39;: [</span>\n<span class=\"go\">    {&#39;parking&#39;: False, &#39;sea_view&#39;: True, &#39;double_bed&#39;: False},</span>\n<span class=\"go\">    {&#39;parking&#39;: True, &#39;double_bed&#39;: True}</span>\n<span class=\"go\">]}]&gt;</span>\n</code></pre></div>\n<aside class=\"version-note version-deprecated\" data-version=\"5.2\">\n<p class=\"version-note-title\">Deprecated since Django 5.2</p><p><span class=\"versionmodified deprecated\">Deprecated since version 5.2: </span>The <code class=\"docutils literal notranslate\"><span class=\"pre\">ordering</span></code> keyword argument is deprecated. Use\n<a class=\"reference internal\" href=\"#django.contrib.postgres.aggregates.JSONBAgg.order_by\" title=\"django.contrib.postgres.aggregates.JSONBAgg.order_by\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">JSONBAgg.order_by</span></code></a> instead.</p>\n</aside>\n</dd></dl>\n\n</section>\n<section id=\"stringagg\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">StringAgg</span></code><a class=\"heading-anchor\" href=\"#stringagg\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.postgres.aggregates.StringAgg\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">StringAgg</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">expression</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">delimiter</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">distinct</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">False</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">filter</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">default</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">order_by</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">()</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.aggregates.StringAgg\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>返回输入值串联成的字符串，用 <code class=\"docutils literal notranslate\"><span class=\"pre\">delimiter</span></code> 字符串分隔，如果没有值，则返回 <code class=\"docutils literal notranslate\"><span class=\"pre\">default</span></code>。</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.postgres.aggregates.StringAgg.delimiter\">\n<span class=\"sig-name descname\"><span class=\"pre\">delimiter</span></span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.aggregates.StringAgg.delimiter\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>必要参数。需要是一个字符串。</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.postgres.aggregates.StringAgg.distinct\">\n<span class=\"sig-name descname\"><span class=\"pre\">distinct</span></span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.aggregates.StringAgg.distinct\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>一个可选的布尔参数，用于确定连接的值是否是不同的。默认值为 <code class=\"docutils literal notranslate\"><span class=\"pre\">False</span></code>。</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.postgres.aggregates.StringAgg.order_by\">\n<span class=\"sig-name descname\"><span class=\"pre\">order_by</span></span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.aggregates.StringAgg.order_by\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><aside class=\"version-note version-added\" data-version=\"5.2\">\n<p class=\"version-note-title\">New in Django 5.2</p></aside>\n<p>可选的字段名字符串（可选的 <code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;-&quot;</span></code> 前缀表示降序）或表达式（或字符串和／或表达式的元组或列表），指定结果字符串中元素的顺序。</p>\n<p>Examples are the same as for <a class=\"reference internal\" href=\"#django.contrib.postgres.aggregates.ArrayAgg.order_by\" title=\"django.contrib.postgres.aggregates.ArrayAgg.order_by\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">ArrayAgg.order_by</span></code></a>.</p>\n</dd></dl>\n\n<p>使用实例：</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"k\">class</span><span class=\"w\"> </span><span class=\"nc\">Publication</span><span class=\"p\">(</span><span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">Model</span><span class=\"p\">):</span>\n    <span class=\"n\">title</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">CharField</span><span class=\"p\">(</span><span class=\"n\">max_length</span><span class=\"o\">=</span><span class=\"mi\">30</span><span class=\"p\">)</span>\n\n\n<span class=\"k\">class</span><span class=\"w\"> </span><span class=\"nc\">Article</span><span class=\"p\">(</span><span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">Model</span><span class=\"p\">):</span>\n    <span class=\"n\">headline</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">CharField</span><span class=\"p\">(</span><span class=\"n\">max_length</span><span class=\"o\">=</span><span class=\"mi\">100</span><span class=\"p\">)</span>\n    <span class=\"n\">publications</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">ManyToManyField</span><span class=\"p\">(</span><span class=\"n\">Publication</span><span class=\"p\">)</span>\n</code></pre></div>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">article</span> <span class=\"o\">=</span> <span class=\"n\">Article</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">create</span><span class=\"p\">(</span><span class=\"n\">headline</span><span class=\"o\">=</span><span class=\"s2\">&quot;NASA uses Python&quot;</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">article</span><span class=\"o\">.</span><span class=\"n\">publications</span><span class=\"o\">.</span><span class=\"n\">create</span><span class=\"p\">(</span><span class=\"n\">title</span><span class=\"o\">=</span><span class=\"s2\">&quot;The Python Journal&quot;</span><span class=\"p\">)</span>\n<span class=\"go\">&lt;Publication: Publication object (1)&gt;</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">article</span><span class=\"o\">.</span><span class=\"n\">publications</span><span class=\"o\">.</span><span class=\"n\">create</span><span class=\"p\">(</span><span class=\"n\">title</span><span class=\"o\">=</span><span class=\"s2\">&quot;Science News&quot;</span><span class=\"p\">)</span>\n<span class=\"go\">&lt;Publication: Publication object (2)&gt;</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.contrib.postgres.aggregates</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">StringAgg</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">Article</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">annotate</span><span class=\"p\">(</span>\n<span class=\"gp\">... </span>    <span class=\"n\">publication_names</span><span class=\"o\">=</span><span class=\"n\">StringAgg</span><span class=\"p\">(</span>\n<span class=\"gp\">... </span>        <span class=\"s2\">&quot;publications__title&quot;</span><span class=\"p\">,</span>\n<span class=\"gp\">... </span>        <span class=\"n\">delimiter</span><span class=\"o\">=</span><span class=\"s2\">&quot;, &quot;</span><span class=\"p\">,</span>\n<span class=\"gp\">... </span>        <span class=\"n\">order_by</span><span class=\"o\">=</span><span class=\"s2\">&quot;publications__title&quot;</span><span class=\"p\">,</span>\n<span class=\"gp\">... </span>    <span class=\"p\">)</span>\n<span class=\"gp\">... </span><span class=\"p\">)</span><span class=\"o\">.</span><span class=\"n\">values</span><span class=\"p\">(</span><span class=\"s2\">&quot;headline&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;publication_names&quot;</span><span class=\"p\">)</span>\n<span class=\"go\">&lt;QuerySet [{</span>\n<span class=\"go\">    &#39;headline&#39;: &#39;NASA uses Python&#39;, &#39;publication_names&#39;: &#39;Science News, The Python Journal&#39;</span>\n<span class=\"go\">}]&gt;</span>\n</code></pre></div>\n<aside class=\"version-note version-deprecated\" data-version=\"5.2\">\n<p class=\"version-note-title\">Deprecated since Django 5.2</p><p><span class=\"versionmodified deprecated\">Deprecated since version 5.2: </span>The <code class=\"docutils literal notranslate\"><span class=\"pre\">ordering</span></code> keyword argument is deprecated. Use\n<a class=\"reference internal\" href=\"#django.contrib.postgres.aggregates.StringAgg.order_by\" title=\"django.contrib.postgres.aggregates.StringAgg.order_by\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">StringAgg.order_by</span></code></a> instead.</p>\n</aside>\n</dd></dl>\n\n</section>\n</section>\n<section id=\"aggregate-functions-for-statistics\">\n<h2>统计的聚合功能<a class=\"heading-anchor\" href=\"#aggregate-functions-for-statistics\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<section id=\"y-and-x\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">y</span></code> 和 <code class=\"docutils literal notranslate\"><span class=\"pre\">x</span></code><a class=\"heading-anchor\" href=\"#y-and-x\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>所有这些函数的参数 <code class=\"docutils literal notranslate\"><span class=\"pre\">y</span></code> 和 <code class=\"docutils literal notranslate\"><span class=\"pre\">x</span></code> 可以是字段名或返回数值数据的表达式。这两个参数都是必须的。</p>\n</section>\n<section id=\"corr\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">Corr</span></code><a class=\"heading-anchor\" href=\"#corr\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.postgres.aggregates.Corr\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">Corr</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">y</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">x</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">filter</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">default</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.aggregates.Corr\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>返回相关系数为 <code class=\"docutils literal notranslate\"><span class=\"pre\">float</span></code>，如果没有任何匹配行，则返回 <code class=\"docutils literal notranslate\"><span class=\"pre\">default</span></code>。</p>\n</dd></dl>\n\n</section>\n<section id=\"covarpop\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">CovarPop</span></code><a class=\"heading-anchor\" href=\"#covarpop\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.postgres.aggregates.CovarPop\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">CovarPop</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">y</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">x</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">sample</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">False</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">filter</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">default</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.aggregates.CovarPop\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>返回人口协方差为 <code class=\"docutils literal notranslate\"><span class=\"pre\">float</span></code>，如果没有任何匹配的行，则返回 <code class=\"docutils literal notranslate\"><span class=\"pre\">default</span></code>。</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.postgres.aggregates.CovarPop.sample\">\n<span class=\"sig-name descname\"><span class=\"pre\">sample</span></span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.aggregates.CovarPop.sample\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>可选。默认情况下，<code class=\"docutils literal notranslate\"><span class=\"pre\">CovarPop</span></code> 返回总体协方差。但是，如果 <code class=\"docutils literal notranslate\"><span class=\"pre\">sample=True</span></code>，返回值将是样本协方差。</p>\n</dd></dl>\n\n</dd></dl>\n\n</section>\n<section id=\"regravgx\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">RegrAvgX</span></code><a class=\"heading-anchor\" href=\"#regravgx\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.postgres.aggregates.RegrAvgX\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">RegrAvgX</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">y</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">x</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">filter</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">default</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.aggregates.RegrAvgX\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>返回自变量的平均数（<code class=\"docutils literal notranslate\"><span class=\"pre\">sum(x)/N</span></code>）为 <code class=\"docutils literal notranslate\"><span class=\"pre\">float</span></code>，如果没有任何匹配的行，则返回 <code class=\"docutils literal notranslate\"><span class=\"pre\">default</span></code>。</p>\n</dd></dl>\n\n</section>\n<section id=\"regravgy\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">RegrAvgY</span></code><a class=\"heading-anchor\" href=\"#regravgy\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.postgres.aggregates.RegrAvgY\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">RegrAvgY</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">y</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">x</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">filter</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">default</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.aggregates.RegrAvgY\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>返回因变量的平均数（<code class=\"docutils literal notranslate\"><span class=\"pre\">sum(y)/N</span></code>）为 <code class=\"docutils literal notranslate\"><span class=\"pre\">float</span></code>，如果没有匹配的行，则为 <code class=\"docutils literal notranslate\"><span class=\"pre\">default</span></code>。</p>\n</dd></dl>\n\n</section>\n<section id=\"regrcount\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">RegrCount</span></code><a class=\"heading-anchor\" href=\"#regrcount\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.postgres.aggregates.RegrCount\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">RegrCount</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">y</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">x</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">filter</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.aggregates.RegrCount\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>返回两个表达式都不为空的输入行数的 <code class=\"docutils literal notranslate\"><span class=\"pre\">int</span></code>。</p>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Note</p>\n<p>不支持 <code class=\"docutils literal notranslate\"><span class=\"pre\">default</span></code> 参数。</p>\n</aside>\n</dd></dl>\n\n</section>\n<section id=\"regrintercept\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">RegrIntercept</span></code><a class=\"heading-anchor\" href=\"#regrintercept\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.postgres.aggregates.RegrIntercept\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">RegrIntercept</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">y</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">x</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">filter</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">default</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.aggregates.RegrIntercept\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>返回由 <code class=\"docutils literal notranslate\"><span class=\"pre\">(x,</span> <span class=\"pre\">y)</span></code> 对确定的最小二乘法线性方程的 y 截距为 <code class=\"docutils literal notranslate\"><span class=\"pre\">float</span></code>，如果没有任何匹配行，则返回 <code class=\"docutils literal notranslate\"><span class=\"pre\">default</span></code>。</p>\n</dd></dl>\n\n</section>\n<section id=\"regrr2\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">RegrR2</span></code><a class=\"heading-anchor\" href=\"#regrr2\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.postgres.aggregates.RegrR2\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">RegrR2</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">y</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">x</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">filter</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">default</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.aggregates.RegrR2\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>返回相关系数的平方为 <code class=\"docutils literal notranslate\"><span class=\"pre\">float</span></code>，如果没有任何匹配行，则返回 <code class=\"docutils literal notranslate\"><span class=\"pre\">default</span></code>。</p>\n</dd></dl>\n\n</section>\n<section id=\"regrslope\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">RegrSlope</span></code><a class=\"heading-anchor\" href=\"#regrslope\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.postgres.aggregates.RegrSlope\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">RegrSlope</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">y</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">x</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">filter</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">default</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.aggregates.RegrSlope\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>返回由 <code class=\"docutils literal notranslate\"><span class=\"pre\">(x,</span> <span class=\"pre\">y)</span></code> 对确定的最小二乘法线性方程的斜率为 <code class=\"docutils literal notranslate\"><span class=\"pre\">float</span></code>，如果没有任何匹配行，则返回 <code class=\"docutils literal notranslate\"><span class=\"pre\">default</span></code>。</p>\n</dd></dl>\n\n</section>\n<section id=\"regrsxx\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">RegrSXX</span></code><a class=\"heading-anchor\" href=\"#regrsxx\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.postgres.aggregates.RegrSXX\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">RegrSXX</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">y</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">x</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">filter</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">default</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.aggregates.RegrSXX\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>返回 <code class=\"docutils literal notranslate\"><span class=\"pre\">sum(x^2)</span> <span class=\"pre\">-</span> <span class=\"pre\">sum(x)^2/N``（自变量的</span> <span class=\"pre\">“平方之和”）为</span> <span class=\"pre\">``float</span></code>，如果没有任何匹配的行，则返回 <code class=\"docutils literal notranslate\"><span class=\"pre\">default</span></code>。</p>\n</dd></dl>\n\n</section>\n<section id=\"regrsxy\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">RegrSXY</span></code><a class=\"heading-anchor\" href=\"#regrsxy\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.postgres.aggregates.RegrSXY\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">RegrSXY</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">y</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">x</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">filter</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">default</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.aggregates.RegrSXY\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>返回 <code class=\"docutils literal notranslate\"><span class=\"pre\">sum(x*y)</span> <span class=\"pre\">-</span> <span class=\"pre\">sum(x)</span> <span class=\"pre\">*</span> <span class=\"pre\">sum(y)/N``（自变量与因变量的“乘积之和”）为</span> <span class=\"pre\">``float</span></code>，如果没有任何匹配的行，则返回 <code class=\"docutils literal notranslate\"><span class=\"pre\">default</span></code>。</p>\n</dd></dl>\n\n</section>\n<section id=\"regrsyy\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">RegrSYY</span></code><a class=\"heading-anchor\" href=\"#regrsyy\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.postgres.aggregates.RegrSYY\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">RegrSYY</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">y</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">x</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">filter</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">default</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.aggregates.RegrSYY\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>返回 <code class=\"docutils literal notranslate\"><span class=\"pre\">sum(y^2)</span> <span class=\"pre\">-</span> <span class=\"pre\">sum(y)^2/N``（因变量的“平方之和”）为</span> <span class=\"pre\">``float</span></code>，如果没有任何匹配行，则返回 <code class=\"docutils literal notranslate\"><span class=\"pre\">default</span></code>。</p>\n</dd></dl>\n\n</section>\n</section>\n<section id=\"usage-examples\">\n<h2>使用实例：<a class=\"heading-anchor\" href=\"#usage-examples\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>我们将使用这个示例表格：</p>\n<div class=\"code-block\" data-language=\"text\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Text</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Text code\"><code>| FIELD1 | FIELD2 | FIELD3 |\n|--------|--------|--------|\n|    foo |      1 |     13 |\n|    bar |      2 | (null) |\n|   test |      3 |     13 |\n</code></pre></div>\n<p>以下是一些通用聚合函数的示例：</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">TestModel</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">aggregate</span><span class=\"p\">(</span><span class=\"n\">result</span><span class=\"o\">=</span><span class=\"n\">StringAgg</span><span class=\"p\">(</span><span class=\"s2\">&quot;field1&quot;</span><span class=\"p\">,</span> <span class=\"n\">delimiter</span><span class=\"o\">=</span><span class=\"s2\">&quot;;&quot;</span><span class=\"p\">))</span>\n<span class=\"go\">{&#39;result&#39;: &#39;foo;bar;test&#39;}</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">TestModel</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">aggregate</span><span class=\"p\">(</span><span class=\"n\">result</span><span class=\"o\">=</span><span class=\"n\">ArrayAgg</span><span class=\"p\">(</span><span class=\"s2\">&quot;field2&quot;</span><span class=\"p\">))</span>\n<span class=\"go\">{&#39;result&#39;: [1, 2, 3]}</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">TestModel</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">aggregate</span><span class=\"p\">(</span><span class=\"n\">result</span><span class=\"o\">=</span><span class=\"n\">ArrayAgg</span><span class=\"p\">(</span><span class=\"s2\">&quot;field1&quot;</span><span class=\"p\">))</span>\n<span class=\"go\">{&#39;result&#39;: [&#39;foo&#39;, &#39;bar&#39;, &#39;test&#39;]}</span>\n</code></pre></div>\n<p>下面的示例演示了统计聚合函数的用法。底层的数学原理将不会被描述（您可以在 <a class=\"reference external\" href=\"https://en.wikipedia.org/wiki/Regression_analysis\">维基百科</a> 上了解更多信息）：</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">TestModel</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">aggregate</span><span class=\"p\">(</span><span class=\"n\">count</span><span class=\"o\">=</span><span class=\"n\">RegrCount</span><span class=\"p\">(</span><span class=\"n\">y</span><span class=\"o\">=</span><span class=\"s2\">&quot;field3&quot;</span><span class=\"p\">,</span> <span class=\"n\">x</span><span class=\"o\">=</span><span class=\"s2\">&quot;field2&quot;</span><span class=\"p\">))</span>\n<span class=\"go\">{&#39;count&#39;: 2}</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">TestModel</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">aggregate</span><span class=\"p\">(</span>\n<span class=\"gp\">... </span>    <span class=\"n\">avgx</span><span class=\"o\">=</span><span class=\"n\">RegrAvgX</span><span class=\"p\">(</span><span class=\"n\">y</span><span class=\"o\">=</span><span class=\"s2\">&quot;field3&quot;</span><span class=\"p\">,</span> <span class=\"n\">x</span><span class=\"o\">=</span><span class=\"s2\">&quot;field2&quot;</span><span class=\"p\">),</span> <span class=\"n\">avgy</span><span class=\"o\">=</span><span class=\"n\">RegrAvgY</span><span class=\"p\">(</span><span class=\"n\">y</span><span class=\"o\">=</span><span class=\"s2\">&quot;field3&quot;</span><span class=\"p\">,</span> <span class=\"n\">x</span><span class=\"o\">=</span><span class=\"s2\">&quot;field2&quot;</span><span class=\"p\">)</span>\n<span class=\"gp\">... </span><span class=\"p\">)</span>\n<span class=\"go\">{&#39;avgx&#39;: 2, &#39;avgy&#39;: 13}</span>\n</code></pre></div>\n</section>","rootId":"module-django.contrib.postgres.aggregates","toc":[{"title":"通用聚合函数","anchor":"general-purpose-aggregation-functions","children":[{"title":"ArrayAgg","anchor":"arrayagg","children":[]},{"title":"BitAnd","anchor":"bitand","children":[]},{"title":"BitOr","anchor":"bitor","children":[]},{"title":"BitXor","anchor":"bitxor","children":[]},{"title":"BoolAnd","anchor":"booland","children":[]},{"title":"BoolOr","anchor":"boolor","children":[]},{"title":"JSONBAgg","anchor":"jsonbagg","children":[]},{"title":"StringAgg","anchor":"stringagg","children":[]}]},{"title":"统计的聚合功能","anchor":"aggregate-functions-for-statistics","children":[{"title":"y 和 x","anchor":"y-and-x","children":[]},{"title":"Corr","anchor":"corr","children":[]},{"title":"CovarPop","anchor":"covarpop","children":[]},{"title":"RegrAvgX","anchor":"regravgx","children":[]},{"title":"RegrAvgY","anchor":"regravgy","children":[]},{"title":"RegrCount","anchor":"regrcount","children":[]},{"title":"RegrIntercept","anchor":"regrintercept","children":[]},{"title":"RegrR2","anchor":"regrr2","children":[]},{"title":"RegrSlope","anchor":"regrslope","children":[]},{"title":"RegrSXX","anchor":"regrsxx","children":[]},{"title":"RegrSXY","anchor":"regrsxy","children":[]},{"title":"RegrSYY","anchor":"regrsyy","children":[]}]},{"title":"使用实例：","anchor":"usage-examples","children":[]}],"breadcrumbs":[{"docname":"ref/index","title":"API 参考","url":"/zh-hans/5.2/ref/"},{"docname":"ref/contrib/index","title":"contrib 包","url":"/zh-hans/5.2/ref/contrib/"},{"docname":"ref/contrib/postgres/index","title":"django.contrib.postgres","url":"/zh-hans/5.2/ref/contrib/postgres/"}],"prev":{"docname":"ref/contrib/postgres/index","title":"django.contrib.postgres","url":"/zh-hans/5.2/ref/contrib/postgres/"},"next":{"docname":"ref/contrib/postgres/constraints","title":"PostgreSQL 特有数据库约束","url":"/zh-hans/5.2/ref/contrib/postgres/constraints/"},"formats":{"html":"/zh-hans/5.2/ref/contrib/postgres/aggregates/","markdown":"/zh-hans/5.2/ref/contrib/postgres/aggregates.md","json":"/zh-hans/5.2/ref/contrib/postgres/aggregates.json"},"source":"https://github.com/django/django/blob/stable/5.2.x/docs/ref/contrib/postgres/aggregates.txt","official":"https://docs.djangoproject.com/zh-hans/5.2/ref/contrib/postgres/aggregates/","inVersions":["6.1","6.0","5.2","5.1","5.0","4.2","4.1","4.0","3.2","3.1","3.0","2.2","2.1","2.0"],"inLocales":["en","sv","zh-hans","ga","fr","ja","id","it","pt-br","ko","es","el","pl"]}