<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>1C-Book &#187; Агрегатные функции в запросе</title>
	<atom:link href="http://1c-book.ru/category/razrabotka-v-sisteme-1spredpriyatie-8-0-s-a-mitichkin-ooo-1s-pablishing-2003g/agregatnye-funkcii-v-zaprose/feed/" rel="self" type="application/rss+xml" />
	<link>http://1c-book.ru</link>
	<description>1С Предприятие 8.0. Справочно-Информационная Система</description>
	<lastBuildDate>Wed, 04 Nov 2009 12:01:48 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Агрегатные функции в запросе</title>
		<link>http://1c-book.ru/agregatnye-funkcii-v-zaprose/</link>
		<comments>http://1c-book.ru/agregatnye-funkcii-v-zaprose/#comments</comments>
		<pubDate>Sun, 04 Oct 2009 22:35:33 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Агрегатные функции в запросе]]></category>
		<category><![CDATA[Агрегатные функции]]></category>
		<category><![CDATA[Запрос]]></category>

		<guid isPermaLink="false">http://1c-book.ru/?p=196</guid>
		<description><![CDATA[Часто требуется не просто выбрать отдельные записи из базы   данных, а получить сводную информацию, например, для ответа на следующие   вопросы:


Каков общий объем продаж за период?


Какова средняя стоимость заказа в каждом филиале?


Сколько сотрудников работает в штате?


Какова наименьшая и наибольшая цена продажи каждого товара?


В системе 1С:Предприятие 8.0 такие запросы можно создавать с помощью [...]]]></description>
			<content:encoded><![CDATA[<p align="left">Часто требуется не просто выбрать отдельные записи из базы   данных, а получить сводную информацию, например, для ответа на следующие   вопросы:</p>
<ul>
<li>
<p align="left">Каков общий объем продаж за период?</p>
</li>
<li>
<p align="left">Какова средняя стоимость заказа в каждом филиале?</p>
</li>
<li>
<p align="left">Сколько сотрудников работает в штате?</p>
</li>
<li>
<p align="left">Какова наименьшая и наибольшая цена продажи каждого товара?</p>
</li>
</ul>
<p align="left">В системе 1С:Предприятие 8.0 такие запросы можно создавать с помощью агрегатных функций, группировок и предложения ИМЕЮЩИЕ (HAVING). Ниже будут описаны агрегатные функции языка запросов.</p>
<p align="left">Любая агрегатная функция принимает в качестве аргумента   какой-либо столбец, а возвращает единственное значение. Например, агрегатная   функция СУММА (SUM) принимает в качестве аргумента   столбец чисел и вычисляет его сумму.</p>
<p align="left">В языке запросов 1С:Предприятия 8.0 существуют следующие агрегатные функции:</p>
<p align="left"><em><strong>СУММА (SUM)</strong></em></p>
<p align="left">Вычисляет сумму всех значений, содержащихся в столбце.</p>
<p align="left"><em><strong>МАКСИМУМ (МАХ)</strong></em></p>
<p align="left">Находит наибольшее значение в столбце.</p>
<p align="left">МИНИМУМ (MIN)</p>
<p align="left">Находит наименьшее значение в столбце.</p>
<p align="left"><em><strong>СРЕДНЕЕ (AVG)</strong></em></p>
<p align="left">Вычисляет среднее арифметическое значение по столбцу.</p>
<p align="left"><em><strong>КОЛИЧЕСТВО (COUNT)</strong></em></p>
<p align="left">Подсчитывает количество значений, содержащихся в столбце. Если в   качестве параметра данной функции передать звездочку   («*»), то функция подсчитает количество строк в   таблице результата запроса. Ниже приведен пример   запроса с несколькими агрегатными функциями:</p>
<p align="left">
<div>
<pre><span style="color: #008000;">ВЫБРАТЬ</span></pre>
</div>
<div>
<pre><span style="color: #008000;">СУММА(Оклад) КАК ФондОплатыТруда,</span></pre>
</div>
<div>
<pre><span style="color: #008000;">МИНИМУМ(Оклад) КАК МинОклад,</span></pre>
</div>
<div>
<pre><span style="color: #008000;">МАКСИМУМ(Оклад) КАК МаксОклад,</span></pre>
</div>
<div>
<pre><span style="color: #008000;">СРЕДНЕЕ(Оклад) КАК СреднийОклад,</span></pre>
</div>
<div>
<pre><span style="color: #008000;">КОЛИЧЕСТВО)*) КАК Количество</span></pre>
</div>
<div>
<pre><span style="color: #008000;">ИЗ Справочник.Сотрудники</span></pre>
</div>
<div>
<pre><span style="color: #008000;"> </span></pre>
</div>
<p align="left">Результат запроса будет содержать всего одну строку:</p>
<p align="left"><img src="http://i013.radikal.ru/0910/2e/fca2cd7e0a45.gif" border="0" alt="" width="430" height="75" /></p>
<p align="left">Рассмотрим более подробно функцию <strong>КОЛИЧЕСТВО / COUNT</strong>.</p>
<p align="left">Эта функция подсчитывает количество значений параметра, попавших   в выборку. В отличие от других агрегатных функций она   допускает три варианта использования:</p>
<p align="left">• Позволяет узнать количество <em>строк </em>в результате запроса.   Для этого в качестве параметра функции надо указать   звездочку («*»). Это наиболее часто встречающийся   вариант использования функции <em>КОЛИЧЕСТВО</em>. Даже если в строке все поля содержат <em> NULL</em>, то такая строка тоже будет посчитана.</p>
<p align="left">• Позволяет подсчитать количество <em>значений </em>указанного   поля, не являющихся <em>NULL</em>-значениями. В качестве   параметра функции можно указывать ссылки на поля,   содержащие значения любого типа, при этом <em>NULL</em>-значения игнорируются.</p>
<p align="left">• Позволяет узнать количество <em>различных значений </em> указанного поля. Для этого перед спецификацией поля   надо указать ключевое слово РАЗЛИЧНЫЕ / DISTINCT, при этом NULL-значения   игнорируются. Например, с помощью функции КОЛИЧЕСТВО   можно ответить на следующие вопросы:</p>
<p align="left">• Сколько сотрудников, у которых оклад больше заданной величины?</p>
<p align="left">
<div>
<pre><span style="color: #008000;">ВЫБРАТЬ КОЛИЧЕСТВО)*) КАК Количество</span></pre>
</div>
<div>
<pre><span style="color: #008000;">ИЗ Справочник.Сотрудники</span></pre>
</div>
<div>
<pre><span style="color: #008000;">ГДЕ Оклад &gt; &amp;ВыбОклад</span></pre>
</div>
<div></div>
<p>• Сколько различных клиентов купили хоть что-нибудь за заданный   период?</p>
<div>
<pre><span style="color: #008000;">ВЫБРАТЬ КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Контрагент) КАК Количество</span></pre>
</div>
<div>
<pre><span style="color: #008000;">ИЗ Документ.РасходнаяНакладная</span></pre>
</div>
<div>
<pre><span style="color: #008000;">ГДЕ Дата МЕЖДУ НачДата И &amp;КонДата</span></pre>
</div>
]]></content:encoded>
			<wfw:commentRss>http://1c-book.ru/agregatnye-funkcii-v-zaprose/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
