{"title":"PostgreSQL specific aggregation functions","version":"1.9","locale":"pt-br","docname":"ref/contrib/postgres/aggregates","url":"/pt-br/1.9/ref/contrib/postgres/aggregates/","canonical":"https://djangodocs.dev/pt-br/1.9/ref/contrib/postgres/aggregates/","summary":"New in Django 1.9 These functions are described in more detail in the PostgreSQL docs . Nota All functions come without default aliases, so you must explicitly…","html":"<span id=\"postgresql-specific-aggregation-functions\"></span><h1>PostgreSQL specific aggregation functions<a class=\"heading-anchor\" href=\"#module-django.contrib.postgres.aggregates\"><span class=\"visually-hidden\">Link para este cabeçalho</span><span aria-hidden=\"true\">#</span></a></h1>\n<aside class=\"version-note version-added\" data-version=\"1.9\" role=\"note\">\n<p class=\"version-note-title\">New in Django 1.9</p></aside>\n<p>These functions are described in more detail in the <a class=\"reference external\" href=\"http://www.postgresql.org/docs/current/static/functions-aggregate.html\">PostgreSQL docs</a>.</p>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Nota</p>\n<p>All functions come without default aliases, so you must explicitly provide\none. For example:</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=\"gp\">&gt;&gt;&gt; </span>SomeModel<span class=\"o\">.</span>objects<span class=\"o\">.</span>aggregate<span class=\"p\">(</span>arr<span class=\"o\">=</span>ArrayAgg<span class=\"p\">(</span><span class=\"s1\">&#39;somefield&#39;</span><span class=\"p\">))</span>\n<span class=\"go\">{&#39;arr&#39;: [0, 1, 2]}</span>\n</code></pre></div>\n</aside>\n<section id=\"general-purpose-aggregation-functions\">\n<h2>General-purpose aggregation functions<a class=\"heading-anchor\" href=\"#general-purpose-aggregation-functions\"><span class=\"visually-hidden\">Link para este cabeçalho</span><span aria-hidden=\"true\">#</span></a></h2>\n<section id=\"arrayagg\">\n<h3><code class=\"docutils literal notranslate\">ArrayAgg</code><a class=\"heading-anchor\" href=\"#arrayagg\"><span class=\"visually-hidden\">Link para este cabeçalho</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\">class</span> </em><span class=\"sig-name descname\">ArrayAgg</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">expression</em>, <em class=\"sig-param\"><span class=\"o\">**</span>extra</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.aggregates.ArrayAgg\"><span class=\"visually-hidden\">Link para esta definição</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Returns a list of values, including nulls, concatenated into an array.</p>\n</dd></dl>\n\n</section>\n<section id=\"bitand\">\n<h3><code class=\"docutils literal notranslate\">BitAnd</code><a class=\"heading-anchor\" href=\"#bitand\"><span class=\"visually-hidden\">Link para este cabeçalho</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\">class</span> </em><span class=\"sig-name descname\">BitAnd</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">expression</em>, <em class=\"sig-param\"><span class=\"o\">**</span>extra</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.aggregates.BitAnd\"><span class=\"visually-hidden\">Link para esta definição</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Returns an <code class=\"docutils literal notranslate\">int</code> of the bitwise <code class=\"docutils literal notranslate\">AND</code> of all non-null input values, or\n<code class=\"docutils literal notranslate\">None</code> if all values are null.</p>\n</dd></dl>\n\n</section>\n<section id=\"bitor\">\n<h3><code class=\"docutils literal notranslate\">BitOr</code><a class=\"heading-anchor\" href=\"#bitor\"><span class=\"visually-hidden\">Link para este cabeçalho</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\">class</span> </em><span class=\"sig-name descname\">BitOr</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">expression</em>, <em class=\"sig-param\"><span class=\"o\">**</span>extra</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.aggregates.BitOr\"><span class=\"visually-hidden\">Link para esta definição</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Returns an <code class=\"docutils literal notranslate\">int</code> of the bitwise <code class=\"docutils literal notranslate\">OR</code> of all non-null input values, or\n<code class=\"docutils literal notranslate\">None</code> if all values are null.</p>\n</dd></dl>\n\n</section>\n<section id=\"booland\">\n<h3><code class=\"docutils literal notranslate\">BoolAnd</code><a class=\"heading-anchor\" href=\"#booland\"><span class=\"visually-hidden\">Link para este cabeçalho</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\">class</span> </em><span class=\"sig-name descname\">BoolAnd</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">expression</em>, <em class=\"sig-param\"><span class=\"o\">**</span>extra</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.aggregates.BoolAnd\"><span class=\"visually-hidden\">Link para esta definição</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Returns <code class=\"docutils literal notranslate\">True</code>, if all input values are true, <code class=\"docutils literal notranslate\">None</code> if all values are\nnull or if there are no values, otherwise <code class=\"docutils literal notranslate\">False</code> .</p>\n</dd></dl>\n\n</section>\n<section id=\"boolor\">\n<h3><code class=\"docutils literal notranslate\">BoolOr</code><a class=\"heading-anchor\" href=\"#boolor\"><span class=\"visually-hidden\">Link para este cabeçalho</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\">class</span> </em><span class=\"sig-name descname\">BoolOr</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">expression</em>, <em class=\"sig-param\"><span class=\"o\">**</span>extra</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.aggregates.BoolOr\"><span class=\"visually-hidden\">Link para esta definição</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Returns <code class=\"docutils literal notranslate\">True</code> if at least one input value is true, <code class=\"docutils literal notranslate\">None</code> if all\nvalues are null or if there are no values, otherwise <code class=\"docutils literal notranslate\">False</code>.</p>\n</dd></dl>\n\n</section>\n<section id=\"stringagg\">\n<h3><code class=\"docutils literal notranslate\">StringAgg</code><a class=\"heading-anchor\" href=\"#stringagg\"><span class=\"visually-hidden\">Link para este cabeçalho</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\">class</span> </em><span class=\"sig-name descname\">StringAgg</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">expression</em>, <em class=\"sig-param\">delimiter</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.aggregates.StringAgg\"><span class=\"visually-hidden\">Link para esta definição</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Returns the input values concatenated into a string, separated by\nthe <code class=\"docutils literal notranslate\">delimiter</code> string.</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\">delimiter</span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.aggregates.StringAgg.delimiter\"><span class=\"visually-hidden\">Link para esta definição</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Required argument. Needs to be a string.</p>\n</dd></dl>\n\n</dd></dl>\n\n</section>\n</section>\n<section id=\"aggregate-functions-for-statistics\">\n<h2>Aggregate functions for statistics<a class=\"heading-anchor\" href=\"#aggregate-functions-for-statistics\"><span class=\"visually-hidden\">Link para este cabeçalho</span><span aria-hidden=\"true\">#</span></a></h2>\n<section id=\"y-and-x\">\n<h3><code class=\"docutils literal notranslate\">y</code> and <code class=\"docutils literal notranslate\">x</code><a class=\"heading-anchor\" href=\"#y-and-x\"><span class=\"visually-hidden\">Link para este cabeçalho</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>The arguments <code class=\"docutils literal notranslate\">y</code> and <code class=\"docutils literal notranslate\">x</code> for all these functions can be the name of a\nfield or an expression returning a numeric data. Both are required.</p>\n</section>\n<section id=\"corr\">\n<h3><code class=\"docutils literal notranslate\">Corr</code><a class=\"heading-anchor\" href=\"#corr\"><span class=\"visually-hidden\">Link para este cabeçalho</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\">class</span> </em><span class=\"sig-name descname\">Corr</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">y</em>, <em class=\"sig-param\">x</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.aggregates.Corr\"><span class=\"visually-hidden\">Link para esta definição</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Returns the correlation coefficient as a <code class=\"docutils literal notranslate\">float</code>, or <code class=\"docutils literal notranslate\">None</code> if there\naren’t any matching rows.</p>\n</dd></dl>\n\n</section>\n<section id=\"covarpop\">\n<h3><code class=\"docutils literal notranslate\">CovarPop</code><a class=\"heading-anchor\" href=\"#covarpop\"><span class=\"visually-hidden\">Link para este cabeçalho</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\">class</span> </em><span class=\"sig-name descname\">CovarPop</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">y</em>, <em class=\"sig-param\">x</em>, <em class=\"sig-param\">sample<span class=\"o\">=</span><span class=\"default_value\">False</span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.aggregates.CovarPop\"><span class=\"visually-hidden\">Link para esta definição</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Returns the population covariance as a <code class=\"docutils literal notranslate\">float</code>, or <code class=\"docutils literal notranslate\">None</code> if there\naren’t any matching rows.</p>\n<p>Has one optional argument:</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\">sample</span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.aggregates.CovarPop.sample\"><span class=\"visually-hidden\">Link para esta definição</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>By default <code class=\"docutils literal notranslate\">CovarPop</code> returns the general population covariance.\nHowever, if <code class=\"docutils literal notranslate\">sample=True</code>, the return value will be the sample\npopulation covariance.</p>\n</dd></dl>\n\n</dd></dl>\n\n</section>\n<section id=\"regravgx\">\n<h3><code class=\"docutils literal notranslate\">RegrAvgX</code><a class=\"heading-anchor\" href=\"#regravgx\"><span class=\"visually-hidden\">Link para este cabeçalho</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\">class</span> </em><span class=\"sig-name descname\">RegrAvgX</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">y</em>, <em class=\"sig-param\">x</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.aggregates.RegrAvgX\"><span class=\"visually-hidden\">Link para esta definição</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Returns the average of the independent variable (<code class=\"docutils literal notranslate\">sum(x)/N</code>) as a\n<code class=\"docutils literal notranslate\">float</code>, or <code class=\"docutils literal notranslate\">None</code> if there aren’t any matching rows.</p>\n</dd></dl>\n\n</section>\n<section id=\"regravgy\">\n<h3><code class=\"docutils literal notranslate\">RegrAvgY</code><a class=\"heading-anchor\" href=\"#regravgy\"><span class=\"visually-hidden\">Link para este cabeçalho</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\">class</span> </em><span class=\"sig-name descname\">RegrAvgY</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">y</em>, <em class=\"sig-param\">x</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.aggregates.RegrAvgY\"><span class=\"visually-hidden\">Link para esta definição</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Returns the average of the dependent variable (<code class=\"docutils literal notranslate\">sum(y)/N</code>) as a\n<code class=\"docutils literal notranslate\">float</code>, or <code class=\"docutils literal notranslate\">None</code> if there aren’t any matching rows.</p>\n</dd></dl>\n\n</section>\n<section id=\"regrcount\">\n<h3><code class=\"docutils literal notranslate\">RegrCount</code><a class=\"heading-anchor\" href=\"#regrcount\"><span class=\"visually-hidden\">Link para este cabeçalho</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\">class</span> </em><span class=\"sig-name descname\">RegrCount</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">y</em>, <em class=\"sig-param\">x</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.aggregates.RegrCount\"><span class=\"visually-hidden\">Link para esta definição</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Returns an <code class=\"docutils literal notranslate\">int</code> of the number of input rows in which both expressions\nare not null.</p>\n</dd></dl>\n\n</section>\n<section id=\"regrintercept\">\n<h3><code class=\"docutils literal notranslate\">RegrIntercept</code><a class=\"heading-anchor\" href=\"#regrintercept\"><span class=\"visually-hidden\">Link para este cabeçalho</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\">class</span> </em><span class=\"sig-name descname\">RegrIntercept</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">y</em>, <em class=\"sig-param\">x</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.aggregates.RegrIntercept\"><span class=\"visually-hidden\">Link para esta definição</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Returns the y-intercept of the least-squares-fit linear equation determined\nby the <code class=\"docutils literal notranslate\">(x, y)</code> pairs as a <code class=\"docutils literal notranslate\">float</code>, or <code class=\"docutils literal notranslate\">None</code> if there aren’t any\nmatching rows.</p>\n</dd></dl>\n\n</section>\n<section id=\"regrr2\">\n<h3><code class=\"docutils literal notranslate\">RegrR2</code><a class=\"heading-anchor\" href=\"#regrr2\"><span class=\"visually-hidden\">Link para este cabeçalho</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\">class</span> </em><span class=\"sig-name descname\">RegrR2</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">y</em>, <em class=\"sig-param\">x</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.aggregates.RegrR2\"><span class=\"visually-hidden\">Link para esta definição</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Returns the square of the correlation coefficient as a <code class=\"docutils literal notranslate\">float</code>, or\n<code class=\"docutils literal notranslate\">None</code> if there aren’t any matching rows.</p>\n</dd></dl>\n\n</section>\n<section id=\"regrslope\">\n<h3><code class=\"docutils literal notranslate\">RegrSlope</code><a class=\"heading-anchor\" href=\"#regrslope\"><span class=\"visually-hidden\">Link para este cabeçalho</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\">class</span> </em><span class=\"sig-name descname\">RegrSlope</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">y</em>, <em class=\"sig-param\">x</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.aggregates.RegrSlope\"><span class=\"visually-hidden\">Link para esta definição</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Returns the slope of the least-squares-fit linear equation determined\nby the <code class=\"docutils literal notranslate\">(x, y)</code> pairs as a <code class=\"docutils literal notranslate\">float</code>, or <code class=\"docutils literal notranslate\">None</code> if there aren’t any\nmatching rows.</p>\n</dd></dl>\n\n</section>\n<section id=\"regrsxx\">\n<h3><code class=\"docutils literal notranslate\">RegrSXX</code><a class=\"heading-anchor\" href=\"#regrsxx\"><span class=\"visually-hidden\">Link para este cabeçalho</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\">class</span> </em><span class=\"sig-name descname\">RegrSXX</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">y</em>, <em class=\"sig-param\">x</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.aggregates.RegrSXX\"><span class=\"visually-hidden\">Link para esta definição</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Returns <code class=\"docutils literal notranslate\">sum(x^2) - sum(x)^2/N</code> (“sum of squares” of the independent\nvariable) as a <code class=\"docutils literal notranslate\">float</code>, or <code class=\"docutils literal notranslate\">None</code> if there aren’t any matching rows.</p>\n</dd></dl>\n\n</section>\n<section id=\"regrsxy\">\n<h3><code class=\"docutils literal notranslate\">RegrSXY</code><a class=\"heading-anchor\" href=\"#regrsxy\"><span class=\"visually-hidden\">Link para este cabeçalho</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\">class</span> </em><span class=\"sig-name descname\">RegrSXY</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">y</em>, <em class=\"sig-param\">x</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.aggregates.RegrSXY\"><span class=\"visually-hidden\">Link para esta definição</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Returns <code class=\"docutils literal notranslate\">sum(x*y) - sum(x) * sum(y)/N</code> (“sum of products” of independent\ntimes dependent variable) as a <code class=\"docutils literal notranslate\">float</code>, or <code class=\"docutils literal notranslate\">None</code> if there aren’t any\nmatching rows.</p>\n</dd></dl>\n\n</section>\n<section id=\"regrsyy\">\n<h3><code class=\"docutils literal notranslate\">RegrSYY</code><a class=\"heading-anchor\" href=\"#regrsyy\"><span class=\"visually-hidden\">Link para este cabeçalho</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\">class</span> </em><span class=\"sig-name descname\">RegrSYY</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">y</em>, <em class=\"sig-param\">x</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.aggregates.RegrSYY\"><span class=\"visually-hidden\">Link para esta definição</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Returns <code class=\"docutils literal notranslate\">sum(y^2) - sum(y)^2/N</code> (“sum of squares” of the dependent\nvariable)  as a <code class=\"docutils literal notranslate\">float</code>, or <code class=\"docutils literal notranslate\">None</code> if there aren’t any matching rows.</p>\n</dd></dl>\n\n</section>\n</section>\n<section id=\"usage-examples\">\n<h2>Usage examples<a class=\"heading-anchor\" href=\"#usage-examples\"><span class=\"visually-hidden\">Link para este cabeçalho</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>We will use this example table:</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=\"o\">|</span> FIELD1 <span class=\"o\">|</span> FIELD2 <span class=\"o\">|</span> FIELD3 <span class=\"o\">|</span>\n<span class=\"o\">|--------|--------|--------|</span>\n<span class=\"o\">|</span>    foo <span class=\"o\">|</span>      <span class=\"mi\">1</span> <span class=\"o\">|</span>     <span class=\"mi\">13</span> <span class=\"o\">|</span>\n<span class=\"o\">|</span>    bar <span class=\"o\">|</span>      <span class=\"mi\">2</span> <span class=\"o\">|</span> <span class=\"p\">(</span>null<span class=\"p\">)</span> <span class=\"o\">|</span>\n<span class=\"o\">|</span>   test <span class=\"o\">|</span>      <span class=\"mi\">3</span> <span class=\"o\">|</span>     <span class=\"mi\">13</span> <span class=\"o\">|</span>\n</code></pre></div>\n<p>Here’s some examples of some of the general-purpose aggregation functions:</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=\"gp\">&gt;&gt;&gt; </span>TestModel<span class=\"o\">.</span>objects<span class=\"o\">.</span>aggregate<span class=\"p\">(</span>result<span class=\"o\">=</span>StringAgg<span class=\"p\">(</span><span class=\"s1\">&#39;field1&#39;</span><span class=\"p\">,</span> delimiter<span class=\"o\">=</span><span class=\"s1\">&#39;;&#39;</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>TestModel<span class=\"o\">.</span>objects<span class=\"o\">.</span>aggregate<span class=\"p\">(</span>result<span class=\"o\">=</span>ArrayAgg<span class=\"p\">(</span><span class=\"s1\">&#39;field2&#39;</span><span class=\"p\">))</span>\n<span class=\"go\">{&#39;result&#39;: [1, 2, 3]}</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>TestModel<span class=\"o\">.</span>objects<span class=\"o\">.</span>aggregate<span class=\"p\">(</span>result<span class=\"o\">=</span>ArrayAgg<span class=\"p\">(</span><span class=\"s1\">&#39;field1&#39;</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>The next example shows the usage of statistical aggregate functions. The\nunderlying math will be not described (you can read about this, for example, at\n<a class=\"reference external\" href=\"https://en.wikipedia.org/wiki/Regression_analysis\">wikipedia</a>):</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=\"gp\">&gt;&gt;&gt; </span>TestModel<span class=\"o\">.</span>objects<span class=\"o\">.</span>aggregate<span class=\"p\">(</span>count<span class=\"o\">=</span>RegrCount<span class=\"p\">(</span>y<span class=\"o\">=</span><span class=\"s1\">&#39;field3&#39;</span><span class=\"p\">,</span> x<span class=\"o\">=</span><span class=\"s1\">&#39;field2&#39;</span><span class=\"p\">))</span>\n<span class=\"go\">{&#39;count&#39;: 2}</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>TestModel<span class=\"o\">.</span>objects<span class=\"o\">.</span>aggregate<span class=\"p\">(</span>avgx<span class=\"o\">=</span>RegrAvgX<span class=\"p\">(</span>y<span class=\"o\">=</span><span class=\"s1\">&#39;field3&#39;</span><span class=\"p\">,</span> x<span class=\"o\">=</span><span class=\"s1\">&#39;field2&#39;</span><span class=\"p\">),</span>\n<span class=\"gp\">... </span>                            avgy<span class=\"o\">=</span>RegrAvgY<span class=\"p\">(</span>y<span class=\"o\">=</span><span class=\"s1\">&#39;field3&#39;</span><span class=\"p\">,</span> x<span class=\"o\">=</span><span class=\"s1\">&#39;field2&#39;</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":"General-purpose aggregation functions","anchor":"general-purpose-aggregation-functions","children":[{"title":"ArrayAgg","anchor":"arrayagg","children":[]},{"title":"BitAnd","anchor":"bitand","children":[]},{"title":"BitOr","anchor":"bitor","children":[]},{"title":"BoolAnd","anchor":"booland","children":[]},{"title":"BoolOr","anchor":"boolor","children":[]},{"title":"StringAgg","anchor":"stringagg","children":[]}]},{"title":"Aggregate functions for statistics","anchor":"aggregate-functions-for-statistics","children":[{"title":"y and 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":"Usage examples","anchor":"usage-examples","children":[]}],"breadcrumbs":[{"docname":"ref/index","title":"Referência da API","url":"/pt-br/1.9/ref/"},{"docname":"ref/contrib/index","title":"contrib packages","url":"/pt-br/1.9/ref/contrib/"},{"docname":"ref/contrib/postgres/index","title":"django.contrib.postgres","url":"/pt-br/1.9/ref/contrib/postgres/"}],"prev":{"docname":"ref/contrib/postgres/index","title":"django.contrib.postgres","url":"/pt-br/1.9/ref/contrib/postgres/"},"next":{"docname":"ref/contrib/postgres/fields","title":"PostgreSQL specific model fields","url":"/pt-br/1.9/ref/contrib/postgres/fields/"},"formats":{"html":"/pt-br/1.9/ref/contrib/postgres/aggregates/","markdown":"/pt-br/1.9/ref/contrib/postgres/aggregates.md","json":"/pt-br/1.9/ref/contrib/postgres/aggregates.json"},"source":"https://github.com/django/django/blob/stable/1.9.x/docs/ref/contrib/postgres/aggregates.txt","official":"https://docs.djangoproject.com/pt-br/1.9/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","1.11","1.10","1.9"],"inLocales":["en","fr","ja","id","pt-br","es"]}