<?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%2FAnalytical_Functions%2FPARTITION</id>
		<title>SQL Server/T-SQL Tutorial/Analytical Functions/PARTITION - История изменений</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%2FAnalytical_Functions%2FPARTITION"/>
		<link rel="alternate" type="text/html" href="http://sqle.ru/index.php?title=SQL_Server/T-SQL_Tutorial/Analytical_Functions/PARTITION&amp;action=history"/>
		<updated>2026-04-06T00:45:15Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://sqle.ru/index.php?title=SQL_Server/T-SQL_Tutorial/Analytical_Functions/PARTITION&amp;diff=6412&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/Analytical_Functions/PARTITION&amp;diff=6412&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/Analytical_Functions/PARTITION&amp;diff=6413&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/Analytical_Functions/PARTITION&amp;diff=6413&amp;oldid=prev"/>
				<updated>2010-05-26T10:22:58Z</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;== Using several columns from a table to build different partitioning schemas in a 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;
6&amp;gt;&lt;br /&gt;
7&amp;gt; create table department(&lt;br /&gt;
8&amp;gt;    dept_name     char(20)     not null,&lt;br /&gt;
9&amp;gt;    emp_cnt       int          not null,&lt;br /&gt;
10&amp;gt;    budget        float,&lt;br /&gt;
11&amp;gt;    date_month    datetime);&lt;br /&gt;
12&amp;gt; GO&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt; insert into department values(&amp;quot;Research&amp;quot;, 5, 50000, &amp;quot;01.01.2002&amp;quot;);&lt;br /&gt;
3&amp;gt; insert into department values(&amp;quot;Research&amp;quot;, 10, 70000, &amp;quot;01.02.2002&amp;quot;);&lt;br /&gt;
4&amp;gt; insert into department values(&amp;quot;Research&amp;quot;, 5, 65000, &amp;quot;01.07.2002&amp;quot;);&lt;br /&gt;
5&amp;gt; insert into department values(&amp;quot;Accounting&amp;quot;, 5, 10000, &amp;quot;01.07.2002&amp;quot;);&lt;br /&gt;
6&amp;gt; insert into department values(&amp;quot;Accounting&amp;quot;, 10, 40000, &amp;quot;01.02.2002&amp;quot;);&lt;br /&gt;
7&amp;gt; insert into department values(&amp;quot;Accounting&amp;quot;, 6, 30000, &amp;quot;01.01.2002&amp;quot;);&lt;br /&gt;
8&amp;gt; insert into department values(&amp;quot;Accounting&amp;quot;, 6, 40000, &amp;quot;01.02.2003&amp;quot;);&lt;br /&gt;
9&amp;gt; insert into department values(&amp;quot;Marketing&amp;quot;, 6, 10000, &amp;quot;01.01.2003&amp;quot;);&lt;br /&gt;
10&amp;gt; insert into department values(&amp;quot;Marketing&amp;quot;, 10, 40000, &amp;quot;01.02.2003&amp;quot;);&lt;br /&gt;
11&amp;gt; insert into department values(&amp;quot;Marketing&amp;quot;, 3, 30000, &amp;quot;01.07.2003&amp;quot;);&lt;br /&gt;
12&amp;gt; insert into department values(&amp;quot;Marketing&amp;quot;, 5, 40000, &amp;quot;01.01.2003&amp;quot;);&lt;br /&gt;
13&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&amp;gt;&lt;br /&gt;
2&amp;gt; SELECT dept_name, CAST(budget AS INT) AS budget,&lt;br /&gt;
3&amp;gt;        SUM(emp_cnt) OVER(PARTITION BY budget) AS emp_cnt_sum,&lt;br /&gt;
4&amp;gt;        AVG(budget) OVER(PARTITION BY dept_name) AS budget_avg&lt;br /&gt;
5&amp;gt; FROM department;&lt;br /&gt;
6&amp;gt; GO&lt;br /&gt;
dept_name            budget      emp_cnt_sum budget_avg&lt;br /&gt;
-------------------- ----------- ----------- ------------------------&lt;br /&gt;
Accounting                 10000          11                    30000&lt;br /&gt;
Accounting                 30000           9                    30000&lt;br /&gt;
Accounting                 40000          31                    30000&lt;br /&gt;
Accounting                 40000          31                    30000&lt;br /&gt;
Marketing                  40000          31                    30000&lt;br /&gt;
Marketing                  30000           9                    30000&lt;br /&gt;
Marketing                  40000          31                    30000&lt;br /&gt;
Marketing                  10000          11                    30000&lt;br /&gt;
Research                   50000           5       61666.666666666664&lt;br /&gt;
Research                   65000           5       61666.666666666664&lt;br /&gt;
Research                   70000          10       61666.666666666664&lt;br /&gt;
(11 rows affected)&lt;br /&gt;
1&amp;gt; drop table department;&lt;br /&gt;
2&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;
== Window function can be an 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;
8&amp;gt;&lt;br /&gt;
9&amp;gt;&lt;br /&gt;
10&amp;gt; create table department(&lt;br /&gt;
11&amp;gt;    dept_name     char(20)     not null,&lt;br /&gt;
12&amp;gt;    emp_cnt       int          not null,&lt;br /&gt;
13&amp;gt;    budget        float,&lt;br /&gt;
14&amp;gt;    date_month    datetime);&lt;br /&gt;
15&amp;gt; GO&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt; insert into department values(&amp;quot;Research&amp;quot;, 5, 50000, &amp;quot;01.01.2002&amp;quot;);&lt;br /&gt;
3&amp;gt; insert into department values(&amp;quot;Research&amp;quot;, 10, 70000, &amp;quot;01.02.2002&amp;quot;);&lt;br /&gt;
4&amp;gt; insert into department values(&amp;quot;Research&amp;quot;, 5, 65000, &amp;quot;01.07.2002&amp;quot;);&lt;br /&gt;
5&amp;gt; insert into department values(&amp;quot;Accounting&amp;quot;, 5, 10000, &amp;quot;01.07.2002&amp;quot;);&lt;br /&gt;
6&amp;gt; insert into department values(&amp;quot;Accounting&amp;quot;, 10, 40000, &amp;quot;01.02.2002&amp;quot;);&lt;br /&gt;
7&amp;gt; insert into department values(&amp;quot;Accounting&amp;quot;, 6, 30000, &amp;quot;01.01.2002&amp;quot;);&lt;br /&gt;
8&amp;gt; insert into department values(&amp;quot;Accounting&amp;quot;, 6, 40000, &amp;quot;01.02.2003&amp;quot;);&lt;br /&gt;
9&amp;gt; insert into department values(&amp;quot;Marketing&amp;quot;, 6, 10000, &amp;quot;01.01.2003&amp;quot;);&lt;br /&gt;
10&amp;gt; insert into department values(&amp;quot;Marketing&amp;quot;, 10, 40000, &amp;quot;01.02.2003&amp;quot;);&lt;br /&gt;
11&amp;gt; insert into department values(&amp;quot;Marketing&amp;quot;, 3, 30000, &amp;quot;01.07.2003&amp;quot;);&lt;br /&gt;
12&amp;gt; insert into department values(&amp;quot;Marketing&amp;quot;, 5, 40000, &amp;quot;01.01.2003&amp;quot;);&lt;br /&gt;
13&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&amp;gt;&lt;br /&gt;
2&amp;gt; SELECT dept_name, budget, SUM(budget) OVER(PARTITION BY dept_name) as&lt;br /&gt;
3&amp;gt;       budget_sum,&lt;br /&gt;
4&amp;gt;       budget/SUM(budget) OVER(PARTITION BY dept_name)* 100 AS percentage&lt;br /&gt;
5&amp;gt; FROM department;&lt;br /&gt;
6&amp;gt; GO&lt;br /&gt;
dept_name            budget                   budget_sum               percentage&lt;br /&gt;
-------------------- ------------------------ ------------------------ ------------------------&lt;br /&gt;
Accounting                              10000                   120000       8.3333333333333321&lt;br /&gt;
Accounting                              40000                   120000       33.333333333333329&lt;br /&gt;
Accounting                              30000                   120000                       25&lt;br /&gt;
Accounting                              40000                   120000       33.333333333333329&lt;br /&gt;
Marketing                               10000                   120000       8.3333333333333321&lt;br /&gt;
Marketing                               40000                   120000       33.333333333333329&lt;br /&gt;
Marketing                               30000                   120000                       25&lt;br /&gt;
Marketing                               40000                   120000       33.333333333333329&lt;br /&gt;
Research                                50000                   185000       27.027027027027028&lt;br /&gt;
Research                                70000                   185000       37.837837837837839&lt;br /&gt;
Research                                65000                   185000       35.135135135135137&lt;br /&gt;
(11 rows affected)&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt;&lt;br /&gt;
3&amp;gt; drop table department;&lt;br /&gt;
4&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;
== Window function can be a ranking 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;
5&amp;gt;&lt;br /&gt;
6&amp;gt; create table department(&lt;br /&gt;
7&amp;gt;    dept_name     char(20)     not null,&lt;br /&gt;
8&amp;gt;    emp_cnt       int          not null,&lt;br /&gt;
9&amp;gt;    budget        float,&lt;br /&gt;
10&amp;gt;    date_month    datetime);&lt;br /&gt;
11&amp;gt; GO&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt; insert into department values(&amp;quot;Research&amp;quot;, 5, 50000, &amp;quot;01.01.2002&amp;quot;);&lt;br /&gt;
3&amp;gt; insert into department values(&amp;quot;Research&amp;quot;, 10, 70000, &amp;quot;01.02.2002&amp;quot;);&lt;br /&gt;
4&amp;gt; insert into department values(&amp;quot;Research&amp;quot;, 5, 65000, &amp;quot;01.07.2002&amp;quot;);&lt;br /&gt;
5&amp;gt; insert into department values(&amp;quot;Accounting&amp;quot;, 5, 10000, &amp;quot;01.07.2002&amp;quot;);&lt;br /&gt;
6&amp;gt; insert into department values(&amp;quot;Accounting&amp;quot;, 10, 40000, &amp;quot;01.02.2002&amp;quot;);&lt;br /&gt;
7&amp;gt; insert into department values(&amp;quot;Accounting&amp;quot;, 6, 30000, &amp;quot;01.01.2002&amp;quot;);&lt;br /&gt;
8&amp;gt; insert into department values(&amp;quot;Accounting&amp;quot;, 6, 40000, &amp;quot;01.02.2003&amp;quot;);&lt;br /&gt;
9&amp;gt; insert into department values(&amp;quot;Marketing&amp;quot;, 6, 10000, &amp;quot;01.01.2003&amp;quot;);&lt;br /&gt;
10&amp;gt; insert into department values(&amp;quot;Marketing&amp;quot;, 10, 40000, &amp;quot;01.02.2003&amp;quot;);&lt;br /&gt;
11&amp;gt; insert into department values(&amp;quot;Marketing&amp;quot;, 3, 30000, &amp;quot;01.07.2003&amp;quot;);&lt;br /&gt;
12&amp;gt; insert into department values(&amp;quot;Marketing&amp;quot;, 5, 40000, &amp;quot;01.01.2003&amp;quot;);&lt;br /&gt;
13&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&amp;gt;&lt;br /&gt;
2&amp;gt; SELECT dept_name, budget,&lt;br /&gt;
3&amp;gt;        SUM(emp_cnt) OVER(PARTITION BY dept_name) AS emp_cnt_sum,&lt;br /&gt;
4&amp;gt;        AVG(budget) OVER(PARTITION BY dept_name) AS budget_avg,&lt;br /&gt;
5&amp;gt;        COUNT(dept_name) OVER(PARTITION BY dept_name) AS dept_cnt&lt;br /&gt;
6&amp;gt; FROM department;&lt;br /&gt;
7&amp;gt; GO&lt;br /&gt;
dept_name            budget                   emp_cnt_sum budget_avg               dept_cnt&lt;br /&gt;
-------------------- ------------------------ ----------- ------------------------ -----------&lt;br /&gt;
Accounting                              10000          27                    30000           4&lt;br /&gt;
Accounting                              40000          27                    30000           4&lt;br /&gt;
Accounting                              30000          27                    30000           4&lt;br /&gt;
Accounting                              40000          27                    30000           4&lt;br /&gt;
Marketing                               10000          24                    30000           4&lt;br /&gt;
Marketing                               40000          24                    30000           4&lt;br /&gt;
Marketing                               30000          24                    30000           4&lt;br /&gt;
Marketing                               40000          24                    30000           4&lt;br /&gt;
Research                                50000          20       61666.666666666664           3&lt;br /&gt;
Research                                70000          20       61666.666666666664           3&lt;br /&gt;
Research                                65000          20       61666.666666666664           3&lt;br /&gt;
(11 rows affected)&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt;&lt;br /&gt;
3&amp;gt; drop table department;&lt;br /&gt;
4&amp;gt; GO&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt;&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>