<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://sqle.ru/index.php?action=history&amp;feed=atom&amp;title=SQL_Server%2FT-SQL_Tutorial%2FAggregate_Functions%2FAggregate_function</id>
		<title>SQL Server/T-SQL Tutorial/Aggregate Functions/Aggregate function - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://sqle.ru/index.php?action=history&amp;feed=atom&amp;title=SQL_Server%2FT-SQL_Tutorial%2FAggregate_Functions%2FAggregate_function"/>
		<link rel="alternate" type="text/html" href="http://sqle.ru/index.php?title=SQL_Server/T-SQL_Tutorial/Aggregate_Functions/Aggregate_function&amp;action=history"/>
		<updated>2026-04-04T11:59:33Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://sqle.ru/index.php?title=SQL_Server/T-SQL_Tutorial/Aggregate_Functions/Aggregate_function&amp;diff=6416&amp;oldid=prev</id>
		<title> в 13:46, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://sqle.ru/index.php?title=SQL_Server/T-SQL_Tutorial/Aggregate_Functions/Aggregate_function&amp;diff=6416&amp;oldid=prev"/>
				<updated>2010-05-26T13:46:16Z</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:46, 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://sqle.ru/index.php?title=SQL_Server/T-SQL_Tutorial/Aggregate_Functions/Aggregate_function&amp;diff=6417&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://sqle.ru/index.php?title=SQL_Server/T-SQL_Tutorial/Aggregate_Functions/Aggregate_function&amp;diff=6417&amp;oldid=prev"/>
				<updated>2010-05-26T10:22:59Z</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;== Aggregate function in sub query==&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;
4&amp;gt; IF OBJECT_ID(&amp;quot;dbo.Sessions&amp;quot;) IS NOT NULL&lt;br /&gt;
5&amp;gt;   DROP TABLE dbo.Sessions;&lt;br /&gt;
6&amp;gt; GO&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt; CREATE TABLE dbo.Sessions&lt;br /&gt;
3&amp;gt; (&lt;br /&gt;
4&amp;gt;   keycol    INT         NOT NULL IDENTITY PRIMARY KEY,&lt;br /&gt;
5&amp;gt;   app       VARCHAR(10) NOT NULL,&lt;br /&gt;
6&amp;gt;   usr       VARCHAR(10) NOT NULL,&lt;br /&gt;
7&amp;gt;   starttime DATETIME    NOT NULL,&lt;br /&gt;
8&amp;gt;   endtime   DATETIME    NOT NULL,&lt;br /&gt;
9&amp;gt;   CHECK(endtime &amp;gt; starttime)&lt;br /&gt;
10&amp;gt; );&lt;br /&gt;
11&amp;gt; GO&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt; INSERT INTO dbo.Sessions(app, usr, starttime, endtime) VALUES(&amp;quot;app1&amp;quot;, &amp;quot;user1&amp;quot;, &amp;quot;20060212 08:30&amp;quot;, &amp;quot;20060212 10:30&amp;quot;);&lt;br /&gt;
3&amp;gt; INSERT INTO dbo.Sessions(app, usr, starttime, endtime) VALUES(&amp;quot;app1&amp;quot;, &amp;quot;user2&amp;quot;, &amp;quot;20060212 08:30&amp;quot;, &amp;quot;20060212 08:45&amp;quot;);&lt;br /&gt;
4&amp;gt; INSERT INTO dbo.Sessions(app, usr, starttime, endtime) VALUES(&amp;quot;app1&amp;quot;, &amp;quot;user1&amp;quot;, &amp;quot;20060212 09:00&amp;quot;, &amp;quot;20060212 09:30&amp;quot;);&lt;br /&gt;
5&amp;gt; INSERT INTO dbo.Sessions(app, usr, starttime, endtime) VALUES(&amp;quot;app1&amp;quot;, &amp;quot;user2&amp;quot;, &amp;quot;20060212 09:15&amp;quot;, &amp;quot;20060212 10:30&amp;quot;);&lt;br /&gt;
6&amp;gt; INSERT INTO dbo.Sessions(app, usr, starttime, endtime) VALUES(&amp;quot;app1&amp;quot;, &amp;quot;user1&amp;quot;, &amp;quot;20060212 09:15&amp;quot;, &amp;quot;20060212 09:30&amp;quot;);&lt;br /&gt;
7&amp;gt; INSERT INTO dbo.Sessions(app, usr, starttime, endtime) VALUES(&amp;quot;app1&amp;quot;, &amp;quot;user2&amp;quot;, &amp;quot;20060212 10:30&amp;quot;, &amp;quot;20060212 14:30&amp;quot;);&lt;br /&gt;
8&amp;gt; INSERT INTO dbo.Sessions(app, usr, starttime, endtime) VALUES(&amp;quot;app1&amp;quot;, &amp;quot;user1&amp;quot;, &amp;quot;20060212 10:45&amp;quot;, &amp;quot;20060212 11:30&amp;quot;);&lt;br /&gt;
9&amp;gt; INSERT INTO dbo.Sessions(app, usr, starttime, endtime) VALUES(&amp;quot;app1&amp;quot;, &amp;quot;user2&amp;quot;, &amp;quot;20060212 11:00&amp;quot;, &amp;quot;20060212 12:30&amp;quot;);&lt;br /&gt;
10&amp;gt; INSERT INTO dbo.Sessions(app, usr, starttime, endtime) VALUES(&amp;quot;app2&amp;quot;, &amp;quot;user1&amp;quot;, &amp;quot;20060212 08:30&amp;quot;, &amp;quot;20060212 08:45&amp;quot;);&lt;br /&gt;
11&amp;gt; INSERT INTO dbo.Sessions(app, usr, starttime, endtime) VALUES(&amp;quot;app2&amp;quot;, &amp;quot;user2&amp;quot;, &amp;quot;20060212 09:00&amp;quot;, &amp;quot;20060212 09:30&amp;quot;);&lt;br /&gt;
12&amp;gt; INSERT INTO dbo.Sessions(app, usr, starttime, endtime) VALUES(&amp;quot;app2&amp;quot;, &amp;quot;user1&amp;quot;, &amp;quot;20060212 11:45&amp;quot;, &amp;quot;20060212 12:00&amp;quot;);&lt;br /&gt;
13&amp;gt; INSERT INTO dbo.Sessions(app, usr, starttime, endtime) VALUES(&amp;quot;app2&amp;quot;, &amp;quot;user2&amp;quot;, &amp;quot;20060212 12:30&amp;quot;, &amp;quot;20060212 14:00&amp;quot;);&lt;br /&gt;
14&amp;gt; INSERT INTO dbo.Sessions(app, usr, starttime, endtime) VALUES(&amp;quot;app2&amp;quot;, &amp;quot;user1&amp;quot;, &amp;quot;20060212 12:45&amp;quot;, &amp;quot;20060212 13:30&amp;quot;);&lt;br /&gt;
15&amp;gt; INSERT INTO dbo.Sessions(app, usr, starttime, endtime) VALUES(&amp;quot;app2&amp;quot;, &amp;quot;user2&amp;quot;, &amp;quot;20060212 13:00&amp;quot;, &amp;quot;20060212 14:00&amp;quot;);&lt;br /&gt;
16&amp;gt; INSERT INTO dbo.Sessions(app, usr, starttime, endtime) VALUES(&amp;quot;app2&amp;quot;, &amp;quot;user1&amp;quot;, &amp;quot;20060212 14:00&amp;quot;, &amp;quot;20060212 16:30&amp;quot;);&lt;br /&gt;
17&amp;gt; INSERT INTO dbo.Sessions(app, usr, starttime, endtime) VALUES(&amp;quot;app2&amp;quot;, &amp;quot;user2&amp;quot;, &amp;quot;20060212 15:30&amp;quot;, &amp;quot;20060212 17:00&amp;quot;);&lt;br /&gt;
18&amp;gt; GO&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt; SELECT app, MAX(cnt) AS mx&lt;br /&gt;
3&amp;gt; FROM (SELECT app,&lt;br /&gt;
4&amp;gt;         (SELECT COUNT(*) FROM dbo.Sessions AS C&lt;br /&gt;
5&amp;gt;          WHERE ts &amp;gt;= starttime&lt;br /&gt;
6&amp;gt;            AND ts &amp;lt; endtime) AS cnt&lt;br /&gt;
7&amp;gt;       FROM (SELECT DISTINCT app, starttime AS ts&lt;br /&gt;
8&amp;gt;            FROM dbo.Sessions) AS T) AS D&lt;br /&gt;
9&amp;gt; GROUP BY app;&lt;br /&gt;
10&amp;gt; GO&lt;br /&gt;
app        mx&lt;br /&gt;
---------- -----------&lt;br /&gt;
app1                 5&lt;br /&gt;
app2                 4&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt; drop table sessions;&lt;br /&gt;
3&amp;gt; GO&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Aggregate functions are applied to a group of data values from a column.==&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;
Aggregate functions always return a single value. &lt;br /&gt;
The Transact-SQL language supports six aggregate functions:&lt;br /&gt;
AVG&lt;br /&gt;
MAX&lt;br /&gt;
MIN&lt;br /&gt;
SUM&lt;br /&gt;
COUNT&lt;br /&gt;
COUNT_BIG&lt;br /&gt;
AVG (short for average) calculates the arithmetic mean of the data values contained within a column. The column must contain numeric values. &lt;br /&gt;
MAX calculates the maximum, and MIN the minimum, data value of the column. &lt;br /&gt;
The column can contain numeric, string, and date/time values.&lt;br /&gt;
SUM calculates the total of all data values in a column. &lt;br /&gt;
The column must contain numeric values. &lt;br /&gt;
COUNT calculates the number of (non-null) data values in a column. &lt;br /&gt;
The only aggregate function not being applied to columns is COUNT(*). &lt;br /&gt;
This function returns the number of rows (whether or not particular columns have null values). &lt;br /&gt;
COUNT_BIG function is analogous to the COUNT function. &lt;br /&gt;
The only difference is that COUNT_BIG returns a value of the BIGINT data type.&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Query with aggregate function as a column==&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;
4&amp;gt; IF OBJECT_ID(&amp;quot;dbo.Sessions&amp;quot;) IS NOT NULL&lt;br /&gt;
5&amp;gt;   DROP TABLE dbo.Sessions;&lt;br /&gt;
6&amp;gt; GO&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt; CREATE TABLE dbo.Sessions&lt;br /&gt;
3&amp;gt; (&lt;br /&gt;
4&amp;gt;   keycol    INT         NOT NULL IDENTITY PRIMARY KEY,&lt;br /&gt;
5&amp;gt;   app       VARCHAR(10) NOT NULL,&lt;br /&gt;
6&amp;gt;   usr       VARCHAR(10) NOT NULL,&lt;br /&gt;
7&amp;gt;   starttime DATETIME    NOT NULL,&lt;br /&gt;
8&amp;gt;   endtime   DATETIME    NOT NULL,&lt;br /&gt;
9&amp;gt;   CHECK(endtime &amp;gt; starttime)&lt;br /&gt;
10&amp;gt; );&lt;br /&gt;
11&amp;gt; GO&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt; INSERT INTO dbo.Sessions(app, usr, starttime, endtime) VALUES(&amp;quot;app1&amp;quot;, &amp;quot;user1&amp;quot;, &amp;quot;20060212 08:30&amp;quot;, &amp;quot;20060212 10:30&amp;quot;);&lt;br /&gt;
3&amp;gt; INSERT INTO dbo.Sessions(app, usr, starttime, endtime) VALUES(&amp;quot;app1&amp;quot;, &amp;quot;user2&amp;quot;, &amp;quot;20060212 08:30&amp;quot;, &amp;quot;20060212 08:45&amp;quot;);&lt;br /&gt;
4&amp;gt; INSERT INTO dbo.Sessions(app, usr, starttime, endtime) VALUES(&amp;quot;app1&amp;quot;, &amp;quot;user1&amp;quot;, &amp;quot;20060212 09:00&amp;quot;, &amp;quot;20060212 09:30&amp;quot;);&lt;br /&gt;
5&amp;gt; INSERT INTO dbo.Sessions(app, usr, starttime, endtime) VALUES(&amp;quot;app1&amp;quot;, &amp;quot;user2&amp;quot;, &amp;quot;20060212 09:15&amp;quot;, &amp;quot;20060212 10:30&amp;quot;);&lt;br /&gt;
6&amp;gt; INSERT INTO dbo.Sessions(app, usr, starttime, endtime) VALUES(&amp;quot;app1&amp;quot;, &amp;quot;user1&amp;quot;, &amp;quot;20060212 09:15&amp;quot;, &amp;quot;20060212 09:30&amp;quot;);&lt;br /&gt;
7&amp;gt; INSERT INTO dbo.Sessions(app, usr, starttime, endtime) VALUES(&amp;quot;app1&amp;quot;, &amp;quot;user2&amp;quot;, &amp;quot;20060212 10:30&amp;quot;, &amp;quot;20060212 14:30&amp;quot;);&lt;br /&gt;
8&amp;gt; INSERT INTO dbo.Sessions(app, usr, starttime, endtime) VALUES(&amp;quot;app1&amp;quot;, &amp;quot;user1&amp;quot;, &amp;quot;20060212 10:45&amp;quot;, &amp;quot;20060212 11:30&amp;quot;);&lt;br /&gt;
9&amp;gt; INSERT INTO dbo.Sessions(app, usr, starttime, endtime) VALUES(&amp;quot;app1&amp;quot;, &amp;quot;user2&amp;quot;, &amp;quot;20060212 11:00&amp;quot;, &amp;quot;20060212 12:30&amp;quot;);&lt;br /&gt;
10&amp;gt; INSERT INTO dbo.Sessions(app, usr, starttime, endtime) VALUES(&amp;quot;app2&amp;quot;, &amp;quot;user1&amp;quot;, &amp;quot;20060212 08:30&amp;quot;, &amp;quot;20060212 08:45&amp;quot;);&lt;br /&gt;
11&amp;gt; INSERT INTO dbo.Sessions(app, usr, starttime, endtime) VALUES(&amp;quot;app2&amp;quot;, &amp;quot;user2&amp;quot;, &amp;quot;20060212 09:00&amp;quot;, &amp;quot;20060212 09:30&amp;quot;);&lt;br /&gt;
12&amp;gt; INSERT INTO dbo.Sessions(app, usr, starttime, endtime) VALUES(&amp;quot;app2&amp;quot;, &amp;quot;user1&amp;quot;, &amp;quot;20060212 11:45&amp;quot;, &amp;quot;20060212 12:00&amp;quot;);&lt;br /&gt;
13&amp;gt; INSERT INTO dbo.Sessions(app, usr, starttime, endtime) VALUES(&amp;quot;app2&amp;quot;, &amp;quot;user2&amp;quot;, &amp;quot;20060212 12:30&amp;quot;, &amp;quot;20060212 14:00&amp;quot;);&lt;br /&gt;
14&amp;gt; INSERT INTO dbo.Sessions(app, usr, starttime, endtime) VALUES(&amp;quot;app2&amp;quot;, &amp;quot;user1&amp;quot;, &amp;quot;20060212 12:45&amp;quot;, &amp;quot;20060212 13:30&amp;quot;);&lt;br /&gt;
15&amp;gt; INSERT INTO dbo.Sessions(app, usr, starttime, endtime) VALUES(&amp;quot;app2&amp;quot;, &amp;quot;user2&amp;quot;, &amp;quot;20060212 13:00&amp;quot;, &amp;quot;20060212 14:00&amp;quot;);&lt;br /&gt;
16&amp;gt; INSERT INTO dbo.Sessions(app, usr, starttime, endtime) VALUES(&amp;quot;app2&amp;quot;, &amp;quot;user1&amp;quot;, &amp;quot;20060212 14:00&amp;quot;, &amp;quot;20060212 16:30&amp;quot;);&lt;br /&gt;
17&amp;gt; INSERT INTO dbo.Sessions(app, usr, starttime, endtime) VALUES(&amp;quot;app2&amp;quot;, &amp;quot;user2&amp;quot;, &amp;quot;20060212 15:30&amp;quot;, &amp;quot;20060212 17:00&amp;quot;);&lt;br /&gt;
18&amp;gt; GO&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt;&lt;br /&gt;
3&amp;gt; SELECT app,&lt;br /&gt;
4&amp;gt;   (SELECT COUNT(*) FROM dbo.Sessions AS C&lt;br /&gt;
5&amp;gt;    WHERE ts &amp;gt;= starttime&lt;br /&gt;
6&amp;gt;      AND ts &amp;lt; endtime) AS cnt&lt;br /&gt;
7&amp;gt; FROM (SELECT DISTINCT app, starttime AS ts&lt;br /&gt;
8&amp;gt;      FROM dbo.Sessions) AS T;&lt;br /&gt;
9&amp;gt;&lt;br /&gt;
10&amp;gt; GO&lt;br /&gt;
app        cnt&lt;br /&gt;
---------- -----------&lt;br /&gt;
app1                 3&lt;br /&gt;
app1                 3&lt;br /&gt;
app1                 5&lt;br /&gt;
app1                 1&lt;br /&gt;
app1                 2&lt;br /&gt;
app1                 3&lt;br /&gt;
app2                 3&lt;br /&gt;
app2                 3&lt;br /&gt;
app2                 3&lt;br /&gt;
app2                 2&lt;br /&gt;
app2                 3&lt;br /&gt;
app2                 4&lt;br /&gt;
app2                 2&lt;br /&gt;
app2                 2&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt; drop table sessions;&lt;br /&gt;
3&amp;gt; GO&lt;br /&gt;
1&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Using Aliase with aggregate function==&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;
20&amp;gt;&lt;br /&gt;
21&amp;gt; CREATE TABLE employee(&lt;br /&gt;
22&amp;gt;    id          INTEGER NOT NULL PRIMARY KEY,&lt;br /&gt;
23&amp;gt;    first_name  VARCHAR(10),&lt;br /&gt;
24&amp;gt;    last_name   VARCHAR(10),&lt;br /&gt;
25&amp;gt;    salary      DECIMAL(10,2),&lt;br /&gt;
26&amp;gt;    start_Date  DATETIME,&lt;br /&gt;
27&amp;gt;    region      VARCHAR(10),&lt;br /&gt;
28&amp;gt;    city        VARCHAR(20)&lt;br /&gt;
29&amp;gt; );&lt;br /&gt;
30&amp;gt; GO&lt;br /&gt;
1&amp;gt; INSERT INTO employee VALUES (1, &amp;quot;Jason&amp;quot; ,  &amp;quot;Martin&amp;quot;, 5890,&amp;quot;2005-03-22&amp;quot;,&amp;quot;North&amp;quot;,&amp;quot;Vancouver&amp;quot;);&lt;br /&gt;
2&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt; INSERT INTO employee VALUES (2, &amp;quot;Alison&amp;quot;,  &amp;quot;Mathews&amp;quot;,4789,&amp;quot;2003-07-21&amp;quot;,&amp;quot;South&amp;quot;,&amp;quot;Utown&amp;quot;);&lt;br /&gt;
2&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt; INSERT INTO employee VALUES (3, &amp;quot;James&amp;quot; ,  &amp;quot;Smith&amp;quot;,  6678,&amp;quot;2001-12-01&amp;quot;,&amp;quot;North&amp;quot;,&amp;quot;Paris&amp;quot;);&lt;br /&gt;
2&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt; INSERT INTO employee VALUES (4, &amp;quot;Celia&amp;quot; ,  &amp;quot;Rice&amp;quot;,   5567,&amp;quot;2006-03-03&amp;quot;,&amp;quot;South&amp;quot;,&amp;quot;London&amp;quot;);&lt;br /&gt;
2&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt; INSERT INTO employee VALUES (5, &amp;quot;Robert&amp;quot;,  &amp;quot;Black&amp;quot;,  4467,&amp;quot;2004-07-02&amp;quot;,&amp;quot;East&amp;quot;,&amp;quot;Newton&amp;quot;);&lt;br /&gt;
2&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt; INSERT INTO employee VALUES (6, &amp;quot;Linda&amp;quot; ,  &amp;quot;Green&amp;quot; , 6456,&amp;quot;2002-05-19&amp;quot;,&amp;quot;East&amp;quot;,&amp;quot;Calgary&amp;quot;);&lt;br /&gt;
2&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt; INSERT INTO employee VALUES (7, &amp;quot;David&amp;quot; ,  &amp;quot;Larry&amp;quot;,  5345,&amp;quot;2008-03-18&amp;quot;,&amp;quot;West&amp;quot;,&amp;quot;New York&amp;quot;);&lt;br /&gt;
2&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt; INSERT INTO employee VALUES (8, &amp;quot;James&amp;quot; ,  &amp;quot;Cat&amp;quot;,    4234,&amp;quot;2007-07-17&amp;quot;,&amp;quot;West&amp;quot;,&amp;quot;Regina&amp;quot;);&lt;br /&gt;
2&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt; INSERT INTO employee VALUES (9, &amp;quot;Joan&amp;quot;  ,  &amp;quot;Act&amp;quot;,    6123,&amp;quot;2001-04-16&amp;quot;,&amp;quot;North&amp;quot;,&amp;quot;Toronto&amp;quot;);&lt;br /&gt;
2&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt; select * from employee;&lt;br /&gt;
3&amp;gt; GO&lt;br /&gt;
id          first_name last_name  salary       start_Date              region     city&lt;br /&gt;
----------- ---------- ---------- ------------ ----------------------- ---------- --------------------&lt;br /&gt;
          1 Jason      Martin          5890.00 2005-03-22 00:00:00.000 North      Vancouver&lt;br /&gt;
          2 Alison     Mathews         4789.00 2003-07-21 00:00:00.000 South      Utown&lt;br /&gt;
          3 James      Smith           6678.00 2001-12-01 00:00:00.000 North      Paris&lt;br /&gt;
          4 Celia      Rice            5567.00 2006-03-03 00:00:00.000 South      London&lt;br /&gt;
          5 Robert     Black           4467.00 2004-07-02 00:00:00.000 East       Newton&lt;br /&gt;
          6 Linda      Green           6456.00 2002-05-19 00:00:00.000 East       Calgary&lt;br /&gt;
          7 David      Larry           5345.00 2008-03-18 00:00:00.000 West       New York&lt;br /&gt;
          8 James      Cat             4234.00 2007-07-17 00:00:00.000 West       Regina&lt;br /&gt;
          9 Joan       Act             6123.00 2001-04-16 00:00:00.000 North      Toronto&lt;br /&gt;
(9 rows affected)&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt;&lt;br /&gt;
3&amp;gt; select AVG(DISTINCT Salary) AS &amp;quot;Average Distinct Salary&amp;quot; from employee;&lt;br /&gt;
4&amp;gt; GO&lt;br /&gt;
Average Distinct Salary&lt;br /&gt;
----------------------------------------&lt;br /&gt;
                             5505.444444&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt;&lt;br /&gt;
3&amp;gt;&lt;br /&gt;
4&amp;gt;&lt;br /&gt;
5&amp;gt; drop table employee;&lt;br /&gt;
6&amp;gt; GO&lt;br /&gt;
1&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Using calculations within aggregate functions.==&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;
5&amp;gt;&lt;br /&gt;
6&amp;gt; CREATE TABLE CD (&lt;br /&gt;
7&amp;gt;      CD_ID              integer  NOT NULL PRIMARY KEY,&lt;br /&gt;
8&amp;gt;      CD_Title           varchar(40),&lt;br /&gt;
9&amp;gt;      Composer_ID        integer  NOT NULL,&lt;br /&gt;
10&amp;gt;      Classif_ID         integer  NOT NULL,&lt;br /&gt;
11&amp;gt;      SalesPrice        money,&lt;br /&gt;
12&amp;gt;      AverageCost       money)&lt;br /&gt;
13&amp;gt; GO&lt;br /&gt;
1&amp;gt; INSERT into CD VALUES(2000,&amp;quot;John&amp;quot;,100,1,16.99,6.99)&lt;br /&gt;
2&amp;gt; INSERT into CD VALUES(2001,&amp;quot;Chicago 16&amp;quot;,107,1,14.99,5.99)&lt;br /&gt;
3&amp;gt; INSERT into CD VALUES(2002,&amp;quot;Chicago 17&amp;quot;,107,1,14.99,5.99)&lt;br /&gt;
4&amp;gt; INSERT into CD VALUES(2003,&amp;quot;Chicago 18&amp;quot;,107,1,14.99,5.99)&lt;br /&gt;
5&amp;gt; INSERT into CD VALUES(2004,&amp;quot;Greatest Hits&amp;quot;,107,1,16.99,7.99)&lt;br /&gt;
6&amp;gt; INSERT into CD VALUES(2005,&amp;quot;Midnight&amp;quot;,101,3,14.99,5.99)&lt;br /&gt;
7&amp;gt; INSERT into CD VALUES(2006,&amp;quot;Mode&amp;quot;,115,3,14.99,5.99)&lt;br /&gt;
8&amp;gt; INSERT into CD VALUES(2007,&amp;quot;Ultra&amp;quot;,115,3,15.99,5.99)&lt;br /&gt;
9&amp;gt; INSERT into CD VALUES(2008,&amp;quot;Mindcrime&amp;quot;,102,4,14.99,5.99)&lt;br /&gt;
10&amp;gt; INSERT into CD VALUES(2009,&amp;quot;Empire&amp;quot;,102,4,14.99,5.99)&lt;br /&gt;
11&amp;gt; INSERT into CD VALUES(2010,&amp;quot;Land&amp;quot;,102,4,12.99,4.99)&lt;br /&gt;
12&amp;gt; INSERT into CD VALUES(2011,&amp;quot;Night&amp;quot;,103,4,11.99,3.99)&lt;br /&gt;
13&amp;gt; INSERT into CD VALUES(2012,&amp;quot;Pyromania&amp;quot;,103,4,14.99,5.99)&lt;br /&gt;
14&amp;gt; INSERT into CD VALUES(2013,&amp;quot;Hysteria&amp;quot;,103,4,14.99,5.99)&lt;br /&gt;
15&amp;gt; INSERT into CD VALUES(2014,&amp;quot;Hits&amp;quot;,103,4,13.99,4.99)&lt;br /&gt;
16&amp;gt; INSERT into CD VALUES(2015,&amp;quot;Hits 2&amp;quot;,104,2,15.99,6.99)&lt;br /&gt;
17&amp;gt; INSERT into CD VALUES(2016,&amp;quot;Greatest&amp;quot;,105,2,14.99,5.99)&lt;br /&gt;
18&amp;gt; INSERT into CD VALUES(2017,&amp;quot;Hits 3&amp;quot;,106,1,13.99,5.99)&lt;br /&gt;
19&amp;gt; INSERT into CD VALUES(2018,&amp;quot;Deep&amp;quot;,108,1,12.99,2.99)&lt;br /&gt;
20&amp;gt; INSERT into CD VALUES(2019,&amp;quot;Turning&amp;quot;,109,1,14.99,5.99)&lt;br /&gt;
21&amp;gt; INSERT into CD VALUES(2020,&amp;quot;TheHits&amp;quot;,109,1,16.99,7.99)&lt;br /&gt;
22&amp;gt; INSERT into CD VALUES(2021,&amp;quot;Cars&amp;quot;,110,1,9.99,3.99)&lt;br /&gt;
23&amp;gt; INSERT into CD VALUES(2022,&amp;quot;Anthology&amp;quot;,110,1,25.99,11.99)&lt;br /&gt;
24&amp;gt; INSERT into CD VALUES(2023,&amp;quot;City&amp;quot;,110,1,14.99,5.99)&lt;br /&gt;
25&amp;gt; INSERT into CD VALUES(2024,&amp;quot;Rick&amp;quot;,111,1,11.99,2.99)&lt;br /&gt;
26&amp;gt; INSERT into CD VALUES(2025,&amp;quot;Live&amp;quot;,112,1,19.99,8.99)&lt;br /&gt;
27&amp;gt; INSERT into CD VALUES(2026,&amp;quot;Pat&amp;quot;,113,1,16.99,6.99)&lt;br /&gt;
28&amp;gt; INSERT into CD VALUES(2027,&amp;quot;Big&amp;quot;,114,1,14.99,5.99)&lt;br /&gt;
29&amp;gt; INSERT into CD VALUES(2028,&amp;quot;Hurting&amp;quot;,114,1,11.99,3.99)&lt;br /&gt;
30&amp;gt; INSERT into CD VALUES(2029,&amp;quot;Vol 1&amp;quot;,116,1,9.99,2.99)&lt;br /&gt;
31&amp;gt; INSERT into CD VALUES(2030,&amp;quot;Vol 2&amp;quot;,116,1,9.99,2.99)&lt;br /&gt;
32&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt; CREATE TABLE Inventory(&lt;br /&gt;
2&amp;gt;      CD_ID              integer  NOT NULL,&lt;br /&gt;
3&amp;gt;      StoreID           integer NOT NULL,&lt;br /&gt;
4&amp;gt;      QOH               integer NULL,&lt;br /&gt;
5&amp;gt;      Returns           integer NULL,&lt;br /&gt;
6&amp;gt;      QtyOrdered        integer NULL,&lt;br /&gt;
7&amp;gt;      Discontinued      char(1) NOT NULL)&lt;br /&gt;
8&amp;gt; GO&lt;br /&gt;
1&amp;gt; INSERT into Inventory VALUES(2000,1330,10,0,0,&amp;quot;N&amp;quot;)&lt;br /&gt;
2&amp;gt; INSERT into Inventory VALUES(2015,1330,5,0,3,&amp;quot;N&amp;quot;)&lt;br /&gt;
3&amp;gt; INSERT into Inventory VALUES(2016,1330,6,0,11,&amp;quot;N&amp;quot;)&lt;br /&gt;
4&amp;gt; INSERT into Inventory VALUES(2017,1330,5,2,0,&amp;quot;N&amp;quot;)&lt;br /&gt;
5&amp;gt; INSERT into Inventory VALUES(2000,1040,3,0,9,&amp;quot;N&amp;quot;)&lt;br /&gt;
6&amp;gt; INSERT into Inventory VALUES(2015,1040,1,0,10,&amp;quot;N&amp;quot;)&lt;br /&gt;
7&amp;gt; INSERT into Inventory VALUES(2016,1040,4,0,11,&amp;quot;N&amp;quot;)&lt;br /&gt;
8&amp;gt; INSERT into Inventory VALUES(2018,1040,15,8,0,&amp;quot;N&amp;quot;)&lt;br /&gt;
9&amp;gt; INSERT into Inventory VALUES(2019,1040,22,3,0,&amp;quot;N&amp;quot;)&lt;br /&gt;
10&amp;gt; INSERT into Inventory VALUES(2020,1040,10,0,0,&amp;quot;N&amp;quot;)&lt;br /&gt;
11&amp;gt; INSERT into Inventory VALUES(2021,1040,19,0,NULL,&amp;quot;N&amp;quot;)&lt;br /&gt;
12&amp;gt; INSERT into Inventory VALUES(2008,1200,11,0,NULL,&amp;quot;N&amp;quot;)&lt;br /&gt;
13&amp;gt; INSERT into Inventory VALUES(2009,1200,5,0,9,&amp;quot;N&amp;quot;)&lt;br /&gt;
14&amp;gt; INSERT into Inventory VALUES(2011,1210,18,0,NULL,&amp;quot;N&amp;quot;)&lt;br /&gt;
15&amp;gt; INSERT into Inventory VALUES(2012,1210,5,0,NULL,&amp;quot;N&amp;quot;)&lt;br /&gt;
16&amp;gt; INSERT into Inventory VALUES(2013,1210,1,0,6,&amp;quot;N&amp;quot;)&lt;br /&gt;
17&amp;gt; INSERT into Inventory VALUES(2025,1220,3,0,8,&amp;quot;N&amp;quot;)&lt;br /&gt;
18&amp;gt; INSERT into Inventory VALUES(2026,1220,3,0,7,&amp;quot;N&amp;quot;)&lt;br /&gt;
19&amp;gt; INSERT into Inventory VALUES(2019,1300,2,0,8,&amp;quot;N&amp;quot;)&lt;br /&gt;
20&amp;gt; INSERT into Inventory VALUES(2020,1300,9,0,0,&amp;quot;N&amp;quot;)&lt;br /&gt;
21&amp;gt; INSERT into Inventory VALUES(2027,1310,2,0,8,&amp;quot;N&amp;quot;)&lt;br /&gt;
22&amp;gt; INSERT into Inventory VALUES(2028,1310,4,0,4,&amp;quot;N&amp;quot;)&lt;br /&gt;
23&amp;gt; INSERT into Inventory VALUES(2029,1320,2,0,8,&amp;quot;N&amp;quot;)&lt;br /&gt;
24&amp;gt; INSERT into Inventory VALUES(2030,1320,6,0,0,&amp;quot;N&amp;quot;)&lt;br /&gt;
25&amp;gt; INSERT into Inventory VALUES(2001,1099,6,0,0,&amp;quot;N&amp;quot;)&lt;br /&gt;
26&amp;gt; INSERT into Inventory VALUES(2002,1099,2,0,3,&amp;quot;N&amp;quot;)&lt;br /&gt;
27&amp;gt; INSERT into Inventory VALUES(2003,1099,7,0,0,&amp;quot;N&amp;quot;)&lt;br /&gt;
28&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt; SELECT SUM(CD.AverageCost*Inventory.QOH),&lt;br /&gt;
3&amp;gt;        MAX(CD.AverageCost*Inventory.QOH),&lt;br /&gt;
4&amp;gt;        MIN(CD.AverageCost*Inventory.QOH)&lt;br /&gt;
5&amp;gt; FROM CD,Inventory&lt;br /&gt;
6&amp;gt; WHERE CD.CD_ID = Inventory.CD_ID&lt;br /&gt;
7&amp;gt; GO&lt;br /&gt;
--------------------- --------------------- ---------------------&lt;br /&gt;
            1032.1400              131.7800                5.9800&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt;&lt;br /&gt;
3&amp;gt; drop table Inventory;&lt;br /&gt;
4&amp;gt; drop table CD;&lt;br /&gt;
5&amp;gt; GO&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>