From b997a4b91f51ffbde42aea777d3cea6df58746c4 Mon Sep 17 00:00:00 2001
From: Bruce Momjian <bruce@momjian.us>
Date: Tue, 20 Jun 2000 18:04:18 +0000
Subject: [PATCH] > Great! Please cc: the docs or hackers mailing lists to make
 sure the > patches are not lost...

Aggregate doc patches:

The patches are attached. Be great if you could check them over to make
sure all relevant content (and markup) is there...

Isaac Wilcox
---
 doc/src/sgml/func.sgml   | 81 ++++++++++++++++++++++++++++++++++++++++
 doc/src/sgml/sql.sgml    |  4 +-
 doc/src/sgml/syntax.sgml |  4 +-
 3 files changed, 85 insertions(+), 4 deletions(-)

diff --git a/doc/src/sgml/func.sgml b/doc/src/sgml/func.sgml
index 3b50375e160..0023a28b0aa 100644
--- a/doc/src/sgml/func.sgml
+++ b/doc/src/sgml/func.sgml
@@ -1515,6 +1515,87 @@ Not defined by this name. Implements the intersection operator '#'
 
   </sect1>
 
+  <sect1>
+
+   <title id="aggregate-funcs">Aggregate Functions</title>
+
+   <note>
+    <title>Author</title>
+    <para>
+     Written by <ulink url="mailto:isaac@azartmedia.com">Isaac Wilcox</ulink>
+     on 2000-06-16.
+    </para>
+   </note>
+
+   <para>
+    <firstterm>Aggregate functions</firstterm> allow the generation of simple
+    statistics about the values of particular columns over the selected set
+    of rows. See also <xref linkend="sql" endterm="aggregates-tutorial"> and
+    <xref linkend="syntax" endterm="aggregates-syntax">.
+   </para>
+
+   <para>
+    <table tocentry="1">
+     <title>Aggregate Functions</title>
+     <tgroup cols="4">
+      <thead>
+       <row>
+        <entry>Function</entry>
+        <entry>Returns</entry>
+        <entry>Description</entry>
+        <entry>Example</entry>
+        <entry>Notes</entry>
+       </row>
+      </thead>
+      <tbody>
+       <row>
+        <entry>COUNT(*)</entry>
+        <entry>int4</entry>
+        <entry>Counts the selected rows.</entry>
+        <entry>COUNT(*)</entry>
+        <entry></entry>
+       </row>
+       <row>
+        <entry>COUNT(<replaceable class="parameter">column-name</replaceable>)</entry>
+        <entry>int4</entry>
+        <entry>Counts the selected rows for which the value of <replaceable class="parameter">column-name</replaceable> is not NULL.</entry>
+        <entry>COUNT(age)</entry>
+        <entry></entry>
+       </row>
+       <row>
+        <entry>SUM(<replaceable class="parameter">column-name</replaceable>)</entry>
+        <entry>Same as the data type of the column being summed.</entry>
+        <entry>Finds the total obtained by adding the values of <replaceable class="parameter">column-name</replaceable> across all selected rows.</entry>
+        <entry>SUM(hours)</entry>
+        <entry>Summation is supported on the following data types: int8, int4, int2, float4, float8, money, interval, numeric</entry>
+       </row>
+       <row>
+        <entry>MAX(<replaceable class="parameter">column-name</replaceable>)</entry>
+        <entry>Same as the data type of the column whose maximum value is sought.</entry>
+        <entry>The maximum value of <replaceable class="parameter">column-name</replaceable> across all selected rows.</entry>
+        <entry>MAX(age)</entry>
+        <entry>Finding the maximum value is supported on the following data types: int8, int4, int2, float4, float8, date, time, timetz, money, timestamp, interval, text, numeric.</entry>
+       </row>
+       <row>
+        <entry>MIN(<replaceable class="parameter">column-name</replaceable>)</entry>
+        <entry>same as the data type of the column whose minimum value is sought.</entry>
+        <entry>The minimum value of <replaceable class="parameter">column-name</replaceable> across all selected rows.</entry>
+        <entry>MIN(age)</entry>
+        <entry>Finding the minimum value is supported on the following data types: int8, int4, int2, float4, float8, date, time, timetz, money, timestamp, interval, text, numeric.</entry>
+       </row>
+       <row>
+        <entry>AVG(<replaceable class="parameter">column-name</replaceable>)</entry>
+        <entry>Same as the data type of the column being averaged.</entry>
+        <entry>The average (mean) of the values in the given column across all selected rows.</entry>
+        <entry>AVG(age)</entry>
+        <entry>Finding the mean value is supported on the following data types: int8, int4, int2, float4, float8, money, interval, numeric. Note that as the return type is the same as that of the data being averaged, using AVG() on discrete data will give a rounded result.</entry>
+       </row>
+      </tbody>
+     </tgroup>
+    </table>
+   </para>
+  </sect1>
+
  </chapter>
 
 <!-- Keep this comment at the end of the file
diff --git a/doc/src/sgml/sql.sgml b/doc/src/sgml/sql.sgml
index 054b2fba730..05d6442fbb0 100644
--- a/doc/src/sgml/sql.sgml
+++ b/doc/src/sgml/sql.sgml
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/sql.sgml,v 1.10 2000/06/14 13:10:48 thomas Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/sql.sgml,v 1.11 2000/06/20 18:04:18 momjian Exp $
 -->
 
  <chapter id="sql">
@@ -1032,7 +1032,7 @@ SELECT S.SNAME, P.PNAME
     </sect3>
 
     <sect3>
-     <title>Aggregate Operators</title>
+     <title id="aggregates-tutorial">Aggregate Operators</title>
 
      <para>
       <acronym>SQL</acronym> provides aggregate operators
diff --git a/doc/src/sgml/syntax.sgml b/doc/src/sgml/syntax.sgml
index f07da189173..6c9ccaf45e5 100644
--- a/doc/src/sgml/syntax.sgml
+++ b/doc/src/sgml/syntax.sgml
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/syntax.sgml,v 1.21 2000/06/09 01:43:56 momjian Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/syntax.sgml,v 1.22 2000/06/20 18:04:18 momjian Exp $
 -->
 
  <chapter id="syntax">
@@ -747,7 +747,7 @@ sqrt(emp.salary)
    </sect2>
 
    <sect2>
-    <title>Aggregate Expressions</title>
+    <title id="aggregates-syntax">Aggregate Expressions</title>
 
     <para>
      An <firstterm>aggregate expression</firstterm> represents the application
-- 
GitLab