<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://www.sqle.ru/index.php?action=history&amp;feed=atom&amp;title=PostgreSQL%2FAggregate_Functions%2FSUM</id>
		<title>PostgreSQL/Aggregate Functions/SUM - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://www.sqle.ru/index.php?action=history&amp;feed=atom&amp;title=PostgreSQL%2FAggregate_Functions%2FSUM"/>
		<link rel="alternate" type="text/html" href="http://www.sqle.ru/index.php?title=PostgreSQL/Aggregate_Functions/SUM&amp;action=history"/>
		<updated>2026-05-25T00:06:21Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.sqle.ru/index.php?title=PostgreSQL/Aggregate_Functions/SUM&amp;diff=4718&amp;oldid=prev</id>
		<title> в 13:45, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://www.sqle.ru/index.php?title=PostgreSQL/Aggregate_Functions/SUM&amp;diff=4718&amp;oldid=prev"/>
				<updated>2010-05-26T13:45:56Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 13:45, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://www.sqle.ru/index.php?title=PostgreSQL/Aggregate_Functions/SUM&amp;diff=4719&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://www.sqle.ru/index.php?title=PostgreSQL/Aggregate_Functions/SUM&amp;diff=4719&amp;oldid=prev"/>
				<updated>2010-05-26T10:14:10Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==SUM for a &amp;quot;real&amp;quot; value==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=# CREATE TABLE employee (&lt;br /&gt;
postgres(#     ID         int,&lt;br /&gt;
postgres(#     name       varchar(10),&lt;br /&gt;
postgres(#     salary     real,&lt;br /&gt;
postgres(#     start_date date,&lt;br /&gt;
postgres(#     city       varchar(10),&lt;br /&gt;
postgres(#     region     char(1)&lt;br /&gt;
postgres(# );&lt;br /&gt;
CREATE TABLE&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=# insert into employee (ID, name,    salary, start_date, city,       region)&lt;br /&gt;
postgres-#               values (1,  &amp;quot;Jason&amp;quot;, 40420,  &amp;quot;02/01/94&amp;quot;, &amp;quot;New York&amp;quot;, &amp;quot;W&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into employee (ID, name,    salary, start_date, city,       region)&lt;br /&gt;
postgres-#               values (2,  &amp;quot;Robert&amp;quot;,14420,  &amp;quot;01/02/95&amp;quot;, &amp;quot;Vancouver&amp;quot;,&amp;quot;N&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into employee (ID, name,    salary, start_date, city,       region)&lt;br /&gt;
postgres-#               values (3,  &amp;quot;Celia&amp;quot;, 24020,  &amp;quot;12/03/96&amp;quot;, &amp;quot;Toronto&amp;quot;,  &amp;quot;W&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into employee (ID, name,    salary, start_date, city,       region)&lt;br /&gt;
postgres-#               values (4,  &amp;quot;Linda&amp;quot;, 40620,  &amp;quot;11/04/97&amp;quot;, &amp;quot;New York&amp;quot;, &amp;quot;N&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into employee (ID, name,    salary, start_date, city,       region)&lt;br /&gt;
postgres-#               values (5,  &amp;quot;David&amp;quot;, 80026,  &amp;quot;10/05/98&amp;quot;, &amp;quot;Vancouver&amp;quot;,&amp;quot;W&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into employee (ID, name,    salary, start_date, city,       region)&lt;br /&gt;
postgres-#               values (6,  &amp;quot;James&amp;quot;, 70060,  &amp;quot;09/06/99&amp;quot;, &amp;quot;Toronto&amp;quot;,  &amp;quot;N&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into employee (ID, name,    salary, start_date, city,       region)&lt;br /&gt;
postgres-#               values (7,  &amp;quot;Alison&amp;quot;,90620,  &amp;quot;08/07/00&amp;quot;, &amp;quot;New York&amp;quot;, &amp;quot;W&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into employee (ID, name,    salary, start_date, city,       region)&lt;br /&gt;
postgres-#               values (8,  &amp;quot;Chris&amp;quot;, 26020,  &amp;quot;07/08/01&amp;quot;, &amp;quot;Vancouver&amp;quot;,&amp;quot;N&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into employee (ID, name,    salary, start_date, city,       region)&lt;br /&gt;
postgres-#               values (9,  &amp;quot;Mary&amp;quot;,  60020,  &amp;quot;06/09/02&amp;quot;, &amp;quot;Toronto&amp;quot;,  &amp;quot;W&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=# select * from employee;&lt;br /&gt;
 id |  name  | salary | start_date |   city    | region&lt;br /&gt;
----+--------+--------+------------+-----------+--------&lt;br /&gt;
  1 | Jason  |  40420 | 1994-02-01 | New York  | W&lt;br /&gt;
  2 | Robert |  14420 | 1995-01-02 | Vancouver | N&lt;br /&gt;
  3 | Celia  |  24020 | 1996-12-03 | Toronto   | W&lt;br /&gt;
  4 | Linda  |  40620 | 1997-11-04 | New York  | N&lt;br /&gt;
  5 | David  |  80026 | 1998-10-05 | Vancouver | W&lt;br /&gt;
  6 | James  |  70060 | 1999-09-06 | Toronto   | N&lt;br /&gt;
  7 | Alison |  90620 | 2000-08-07 | New York  | W&lt;br /&gt;
  8 | Chris  |  26020 | 2001-07-08 | Vancouver | N&lt;br /&gt;
  9 | Mary   |  60020 | 2002-06-09 | Toronto   | W&lt;br /&gt;
(9 rows)&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=# SELECT sum(salary) FROM employee;&lt;br /&gt;
  sum&lt;br /&gt;
--------&lt;br /&gt;
 446226&lt;br /&gt;
(1 row)&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=# drop table employee;&lt;br /&gt;
DROP TABLE&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=#&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using SUM function with natural join==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=# CREATE TABLE &amp;quot;stock&amp;quot; (&lt;br /&gt;
postgres(#      &amp;quot;isbn&amp;quot; text NOT NULL,&lt;br /&gt;
postgres(#      &amp;quot;cost&amp;quot; numeric(5,2),&lt;br /&gt;
postgres(#      &amp;quot;retail&amp;quot; numeric(5,2),&lt;br /&gt;
postgres(#      &amp;quot;stock&amp;quot; integer,&lt;br /&gt;
postgres(#      Constraint &amp;quot;stock_pkey&amp;quot; Primary Key (&amp;quot;isbn&amp;quot;)&lt;br /&gt;
postgres(# );&lt;br /&gt;
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index &amp;quot;stock_pkey&amp;quot; for table &amp;quot;stock&amp;quot;&lt;br /&gt;
CREATE TABLE&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=# insert into stock values (&amp;quot;0385121679&amp;quot;, 29.00, 36.95, 65);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into stock values (&amp;quot;039480001X&amp;quot;, 30.00, 32.95, 31);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into stock values (&amp;quot;0394900014&amp;quot;, 23.00, 23.95, 0);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into stock values (&amp;quot;044100590X&amp;quot;, 36.00, 45.95, 89);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into stock values (&amp;quot;0441172717&amp;quot;, 17.00, 21.95, 77);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into stock values (&amp;quot;0451160916&amp;quot;, 24.00, 28.95, 22);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into stock values (&amp;quot;0451198492&amp;quot;, 36.00, 46.95, 0);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into stock values (&amp;quot;0451457994&amp;quot;, 17.00, 22.95, 0);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into stock values (&amp;quot;0590445065&amp;quot;, 23.00, 23.95, 10);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into stock values (&amp;quot;0679803335&amp;quot;, 20.00, 24.95, 18);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into stock values (&amp;quot;0694003611&amp;quot;, 25.00, 28.95, 50);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into stock values (&amp;quot;0760720002&amp;quot;, 18.00, 23.95, 28);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into stock values (&amp;quot;0823015505&amp;quot;, 26.00, 28.95, 16);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into stock values (&amp;quot;0929605942&amp;quot;, 19.00, 21.95, 25);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into stock values (&amp;quot;1885418035&amp;quot;, 23.00, 24.95, 77);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into stock values (&amp;quot;0394800753&amp;quot;, 16.00, 16.95, 4);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=# select * FROM stock;&lt;br /&gt;
    isbn    | cost  | retail | stock&lt;br /&gt;
------------+-------+--------+-------&lt;br /&gt;
 0385121679 | 29.00 |  36.95 |    65&lt;br /&gt;
 039480001X | 30.00 |  32.95 |    31&lt;br /&gt;
 0394900014 | 23.00 |  23.95 |     0&lt;br /&gt;
 044100590X | 36.00 |  45.95 |    89&lt;br /&gt;
 0441172717 | 17.00 |  21.95 |    77&lt;br /&gt;
 0451160916 | 24.00 |  28.95 |    22&lt;br /&gt;
 0451198492 | 36.00 |  46.95 |     0&lt;br /&gt;
 0451457994 | 17.00 |  22.95 |     0&lt;br /&gt;
 0590445065 | 23.00 |  23.95 |    10&lt;br /&gt;
 0679803335 | 20.00 |  24.95 |    18&lt;br /&gt;
 0694003611 | 25.00 |  28.95 |    50&lt;br /&gt;
 0760720002 | 18.00 |  23.95 |    28&lt;br /&gt;
 0823015505 | 26.00 |  28.95 |    16&lt;br /&gt;
 0929605942 | 19.00 |  21.95 |    25&lt;br /&gt;
 1885418035 | 23.00 |  24.95 |    77&lt;br /&gt;
 0394800753 | 16.00 |  16.95 |     4&lt;br /&gt;
(16 rows)&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=# CREATE TABLE &amp;quot;books&amp;quot; (&lt;br /&gt;
postgres(#      &amp;quot;id&amp;quot;           integer NOT NULL,&lt;br /&gt;
postgres(#      &amp;quot;title&amp;quot;        text NOT NULL,&lt;br /&gt;
postgres(#      &amp;quot;author_id&amp;quot;    integer,&lt;br /&gt;
postgres(#      &amp;quot;subject_id&amp;quot;   integer,&lt;br /&gt;
postgres(#      Constraint &amp;quot;books_id_pkey&amp;quot; Primary Key (&amp;quot;id&amp;quot;)&lt;br /&gt;
postgres(# );&lt;br /&gt;
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index &amp;quot;books_id_pkey&amp;quot; for table &amp;quot;books&amp;quot;&lt;br /&gt;
CREATE TABLE&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=# insert into books values (7808,  &amp;quot;Java&amp;quot;,                  4156, 9);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into books values (4513,  &amp;quot;Javascript&amp;quot;,            1866, 15);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into books values (4267,  &amp;quot;C#&amp;quot;,                    2001, 15);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into books values (1608,  &amp;quot;Oracle&amp;quot;,                1809, 2);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into books values (1590,  &amp;quot;Sql Server&amp;quot;,            1809, 2);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into books values (25908, &amp;quot;Postgre SQL&amp;quot;,          15990, 2);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into books values (1501,  &amp;quot;Python&amp;quot;,                2031, 2);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into books values (190,   &amp;quot;Java by API&amp;quot;,             16, 6);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into books values (1234,  &amp;quot;2D&amp;quot;,                   25041, 3);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into books values (2038,  &amp;quot;C&amp;quot;,                     1644, 0);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into books values (156,   &amp;quot;C++&amp;quot;,                    115, 9);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into books values (41473, &amp;quot;Programming Python&amp;quot;,    7805, 4);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into books values (41477, &amp;quot;Learning Python&amp;quot;,       7805, 4);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into books values (41478, &amp;quot;Perl Cookbook&amp;quot;,         7806, 4);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into books values (41472, &amp;quot;Practical PostgreSQL&amp;quot;,  1212, 4);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=# select * from books;&lt;br /&gt;
  id   |        title         | author_id | subject_id&lt;br /&gt;
-------+----------------------+-----------+------------&lt;br /&gt;
  7808 | Java                 |      4156 |          9&lt;br /&gt;
  4513 | Javascript           |      1866 |         15&lt;br /&gt;
  4267 | C#                   |      2001 |         15&lt;br /&gt;
  1608 | Oracle               |      1809 |          2&lt;br /&gt;
  1590 | Sql Server           |      1809 |          2&lt;br /&gt;
 25908 | Postgre SQL          |     15990 |          2&lt;br /&gt;
  1501 | Python               |      2031 |          2&lt;br /&gt;
   190 | Java by API          |        16 |          6&lt;br /&gt;
  1234 | 2D                   |     25041 |          3&lt;br /&gt;
  2038 | C                    |      1644 |          0&lt;br /&gt;
   156 | C++                  |       115 |          9&lt;br /&gt;
 41473 | Programming Python   |      7805 |          4&lt;br /&gt;
 41477 | Learning Python      |      7805 |          4&lt;br /&gt;
 41478 | Perl Cookbook        |      7806 |          4&lt;br /&gt;
 41472 | Practical PostgreSQL |      1212 |          4&lt;br /&gt;
(15 rows)&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=# CREATE TABLE &amp;quot;editions&amp;quot; (&lt;br /&gt;
postgres(#      &amp;quot;isbn&amp;quot; text NOT NULL,&lt;br /&gt;
postgres(#      &amp;quot;book_id&amp;quot; integer,&lt;br /&gt;
postgres(#      &amp;quot;edition&amp;quot; integer,&lt;br /&gt;
postgres(#      &amp;quot;publisher_id&amp;quot; integer,&lt;br /&gt;
postgres(#      &amp;quot;publication&amp;quot; date,&lt;br /&gt;
postgres(#      &amp;quot;type&amp;quot; character(1),&lt;br /&gt;
postgres(#      CONSTRAINT &amp;quot;integrity&amp;quot; CHECK (((book_id NOTNULL) AND (edition NOTNULL))),&lt;br /&gt;
postgres(#      Constraint &amp;quot;pkey&amp;quot; Primary Key (&amp;quot;isbn&amp;quot;)&lt;br /&gt;
postgres(# );&lt;br /&gt;
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index &amp;quot;pkey&amp;quot; for table &amp;quot;editions&amp;quot;&lt;br /&gt;
CREATE TABLE&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=# insert into editions values(&amp;quot;039480001X&amp;quot;, 1608,  1,  59,  &amp;quot;1957-03-01&amp;quot;, &amp;quot;h&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into editions values(&amp;quot;0451160916&amp;quot;, 7808,  1,  75,  &amp;quot;1981-08-01&amp;quot;, &amp;quot;p&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into editions values(&amp;quot;0394800753&amp;quot;, 1590,  1,  59,  &amp;quot;1949-03-01&amp;quot;, &amp;quot;p&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into editions values(&amp;quot;0590445065&amp;quot;, 25908, 1,  150, &amp;quot;1987-03-01&amp;quot;, &amp;quot;p&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into editions values(&amp;quot;0694003611&amp;quot;, 1501,  1,  65,  &amp;quot;1947-03-04&amp;quot;, &amp;quot;p&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into editions values(&amp;quot;0679803335&amp;quot;, 1234,  1,  102, &amp;quot;1922-01-01&amp;quot;, &amp;quot;p&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into editions values(&amp;quot;0760720002&amp;quot;, 190,   1,  91,  &amp;quot;1868-01-01&amp;quot;, &amp;quot;p&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into editions values(&amp;quot;0394900014&amp;quot;, 1608,  1,  59,  &amp;quot;1957-01-01&amp;quot;, &amp;quot;p&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into editions values(&amp;quot;0385121679&amp;quot;, 7808,  2,  75,  &amp;quot;1993-10-01&amp;quot;, &amp;quot;h&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into editions values(&amp;quot;1885418035&amp;quot;, 156,   1,  163, &amp;quot;1995-03-28&amp;quot;, &amp;quot;p&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into editions values(&amp;quot;0929605942&amp;quot;, 156,   2,  171, &amp;quot;1998-12-01&amp;quot;, &amp;quot;p&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into editions values(&amp;quot;0441172717&amp;quot;, 4513,  2,  99,  &amp;quot;1998-09-01&amp;quot;, &amp;quot;p&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into editions values(&amp;quot;044100590X&amp;quot;, 4513,  3,  99,  &amp;quot;1999-10-01&amp;quot;, &amp;quot;h&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into editions values(&amp;quot;0451457994&amp;quot;, 4267,  3,  101, &amp;quot;2000-09-12&amp;quot;, &amp;quot;p&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into editions values(&amp;quot;0451198492&amp;quot;, 4267,  3,  101, &amp;quot;1999-10-01&amp;quot;, &amp;quot;h&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into editions values(&amp;quot;0823015505&amp;quot;, 2038,  1,  62,  &amp;quot;1958-01-01&amp;quot;, &amp;quot;p&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into editions values(&amp;quot;0596000855&amp;quot;, 41473, 2,  113, &amp;quot;2001-03-01&amp;quot;, &amp;quot;p&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=# select * from editions;&lt;br /&gt;
    isbn    | book_id | edition | publisher_id | publication | type&lt;br /&gt;
------------+---------+---------+--------------+-------------+------&lt;br /&gt;
 039480001X |    1608 |       1 |           59 | 1957-03-01  | h&lt;br /&gt;
 0451160916 |    7808 |       1 |           75 | 1981-08-01  | p&lt;br /&gt;
 0394800753 |    1590 |       1 |           59 | 1949-03-01  | p&lt;br /&gt;
 0590445065 |   25908 |       1 |          150 | 1987-03-01  | p&lt;br /&gt;
 0694003611 |    1501 |       1 |           65 | 1947-03-04  | p&lt;br /&gt;
 0679803335 |    1234 |       1 |          102 | 1922-01-01  | p&lt;br /&gt;
 0760720002 |     190 |       1 |           91 | 1868-01-01  | p&lt;br /&gt;
 0394900014 |    1608 |       1 |           59 | 1957-01-01  | p&lt;br /&gt;
 0385121679 |    7808 |       2 |           75 | 1993-10-01  | h&lt;br /&gt;
 1885418035 |     156 |       1 |          163 | 1995-03-28  | p&lt;br /&gt;
 0929605942 |     156 |       2 |          171 | 1998-12-01  | p&lt;br /&gt;
 0441172717 |    4513 |       2 |           99 | 1998-09-01  | p&lt;br /&gt;
 044100590X |    4513 |       3 |           99 | 1999-10-01  | h&lt;br /&gt;
 0451457994 |    4267 |       3 |          101 | 2000-09-12  | p&lt;br /&gt;
 0451198492 |    4267 |       3 |          101 | 1999-10-01  | h&lt;br /&gt;
 0823015505 |    2038 |       1 |           62 | 1958-01-01  | p&lt;br /&gt;
 0596000855 |   41473 |       2 |          113 | 2001-03-01  | p&lt;br /&gt;
(17 rows)&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=# CREATE TABLE &amp;quot;subjects&amp;quot; (&lt;br /&gt;
postgres(#      &amp;quot;id&amp;quot; integer NOT NULL,&lt;br /&gt;
postgres(#      &amp;quot;subject&amp;quot; text,&lt;br /&gt;
postgres(#      &amp;quot;location&amp;quot; text,&lt;br /&gt;
postgres(#      Constraint &amp;quot;subjects_pkey&amp;quot; Primary Key (&amp;quot;id&amp;quot;)&lt;br /&gt;
postgres(# );&lt;br /&gt;
ERROR:  relation &amp;quot;subjects&amp;quot; already exists&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=# insert into subjects values (0,  &amp;quot;Arts&amp;quot;, &amp;quot;Creativity St&amp;quot;);&lt;br /&gt;
postgres=# insert into subjects values (1,  &amp;quot;Business&amp;quot;, &amp;quot;Productivity Ave&amp;quot;);&lt;br /&gt;
postgres=# insert into subjects values (2,  &amp;quot;Children&amp;quot;, &amp;quot;Books  Kids Ct&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into subjects values (3,  &amp;quot;Classics&amp;quot;, &amp;quot;Academic Rd&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into subjects values (4,  &amp;quot;Computers&amp;quot;, &amp;quot;Productivity Ave&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into subjects values (5,  &amp;quot;Cooking&amp;quot;, &amp;quot;Creativity St&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into subjects values (6,  &amp;quot;Drama&amp;quot;, &amp;quot;Main St&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into subjects values (7,  &amp;quot;Entertainment&amp;quot;, &amp;quot;Main St&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into subjects values (8,  &amp;quot;History&amp;quot;, &amp;quot;Academic Rd&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into subjects values (9,  &amp;quot;Horror&amp;quot;, &amp;quot;Black Raven Dr&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into subjects values (10, &amp;quot;Mystery&amp;quot;, &amp;quot;Black Raven Dr&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into subjects values (11, &amp;quot;Poetry&amp;quot;, &amp;quot;Sunset Dr&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into subjects values (12, &amp;quot;Religion&amp;quot;, &amp;quot;Regina&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into subjects values (13, &amp;quot;Romance&amp;quot;, &amp;quot;Main St&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into subjects values (14, &amp;quot;Science&amp;quot;, &amp;quot;Productivity Ave&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=# insert into subjects values (15, &amp;quot;Science Fiction&amp;quot;, &amp;quot;Main St&amp;quot;);&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=# select * from subjects;&lt;br /&gt;
 id |     subject     |     location&lt;br /&gt;
----+-----------------+------------------&lt;br /&gt;
  0 | Arts            | Creativity St&lt;br /&gt;
  1 | Business        | Productivity Ave&lt;br /&gt;
  2 | Children        | Books   Kids Ct&lt;br /&gt;
  3 | Classics        | Academic Rd&lt;br /&gt;
  4 | Computers       | Productivity Ave&lt;br /&gt;
  5 | Cooking         | Creativity St&lt;br /&gt;
  6 | Drama           | Main St&lt;br /&gt;
  7 | Entertainment   | Main St&lt;br /&gt;
  8 | History         | Academic Rd&lt;br /&gt;
  9 | Horror          | Black Raven Dr&lt;br /&gt;
 10 | Mystery         | Black Raven Dr&lt;br /&gt;
 11 | Poetry          | Sunset Dr&lt;br /&gt;
 12 | Religion        | Regina&lt;br /&gt;
 13 | Romance         | Main St&lt;br /&gt;
 14 | Science         | Productivity Ave&lt;br /&gt;
 15 | Science Fiction | Main St&lt;br /&gt;
(16 rows)&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=# SELECT sum(stock), s.subject&lt;br /&gt;
postgres-#         FROM ((stock NATURAL JOIN editions)&lt;br /&gt;
postgres(#         JOIN books ON (books.id = book_id))&lt;br /&gt;
postgres-#         JOIN subjects AS s&lt;br /&gt;
postgres-#                       ON (books.subject_id = s.id)&lt;br /&gt;
postgres-#         GROUP BY s.subject&lt;br /&gt;
postgres-#         ORDER BY sum DESC;&lt;br /&gt;
 sum |     subject&lt;br /&gt;
-----+-----------------&lt;br /&gt;
 189 | Horror&lt;br /&gt;
 166 | Science Fiction&lt;br /&gt;
  95 | Children&lt;br /&gt;
  28 | Drama&lt;br /&gt;
  18 | Classics&lt;br /&gt;
  16 | Arts&lt;br /&gt;
(6 rows)&lt;br /&gt;
postgres=#&lt;br /&gt;
postgres=# drop table editions;&lt;br /&gt;
DROP TABLE&lt;br /&gt;
postgres=# drop table books;&lt;br /&gt;
DROP TABLE&lt;br /&gt;
postgres=# drop table stock;&lt;br /&gt;
DROP TABLE&lt;br /&gt;
postgres=#&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>