Новые книги

У первых лиц – генеральных директоров или вице-президентов компаний – нет времени на анализ лишней информации и распутывание витиеватых рассуждений. Их рабочий день расписан поминутно. К сожалению, лишь очень немногие из нас умеют излагать свои мысли так, как того требуют первые лица, – коротко, ясно, "без воды". А ведь от умения правильно выстроить логику своего предложения или структурировать отчет может зависеть успех вашего проекта или даже ваша карьера.

Прочитав эту книгу, вы узнаете о том, каковы особенности первых лиц. Научитесь правильно формулировать цель своего обращения "наверх". Сможете создать структуру документа и написать текст, работающий на достижение этой цели. Вы научитесь писать кратко. И удивитесь тому, как часто ваши отчеты и предложения будут встречать понимание и согласие.
Эта книга пригодится тому, кто хочет заявить миру о себе, но пока не знает, как. И даже если у вас нет особых амбиций, она убережёт от распространённых ошибок, которые мы часто совершаем, заводя дневник в публичном пространстве. Люди создают блоги не только для того, чтобы постить фотографии котиков. Они ищут общения, возможностей для самореализации, популярности и любви. Марта Кетро – блогер, которого читают более тридцати тысяч человек, – расскажет, как сделать так, чтобы вас любили в Интернете.

В этой книге:

– честные и не очень способы раскрутки и продвижения блога;

– как собрать большую аудиторию и обращаться с нею;

– как не пораниться о собственную популярность и не свихнуться в погоне за рейтингом;

– как превратить тролля в камень;

– выгодно ли быть хорошим;

– что может дать раскрученный блог своему владельцу и чего лишить;

– как украсить свою сексуальную жизнь с помощью френд-ленты и не перестараться…

…и прочие «плюсы-минусы-подводные камни» – всё, о чём стоит знать, прежде чем ввязываться.

Прочитайте и рискните! Удачи!

Фраза GROUP BY



2.5.3. Фраза GROUP BY

Мы показали, как можно вычислить массу определенного продукта, поставляемого поставщиками. Предположим, что теперь требуется вычислить общую массу каждого из продуктов, поставляемых в настоящее время поставщиками. Это можно легко сделать с помощью предложения

SELECT	ПР, SUM(К_во)
FROM	Поставки
GROUP	BY ПР;

Результат показан на рис. 2.3,а.

а) б) в) г)
ПР
90
11150
1230
15370
1370
3250
5170
6220
8150
7200
20
4100
13190
1470
16250
1750
10220
ПСПРЦенаК_во
19-0--0-
39-0--0-
59-0--0-
1111.5050
511-0--0-
611-0--0-
8111.00100
1123.0010
3122.5020
612-0--0-
1152.00170
3151.50200
213.60300
714.2070
23-0--0-
734.00250
. . .
ПР
1370
20
3250
4100
5170
6220
7200
8150
90
10220
11150
1230
13190
1470
15370
16250
1750
ПР
90
11150
1230
1570
1370
3250
570
6140
8150
7200
20
4100
13190
1470
16250
1750
10220

Рис. 2.3. Иллюстрации к фразе GROUP BY

Фраза GROUP BY (группировать по) инициирует перекомпоновку указанной во FROM таблицы по группам, каждая из которых имеет одинаковые значения в столбце, указанном в GROUP BY. В рассматриваемом примере строки таблицы Поставки группируются так, что в одной группе содержатся все строки для продукта с ПР = 1, в другой – для продукта с ПР = 2 и т.д. (см. рис. 2.3.б). Далее к каждой группе применяется фраза SELECT. Каждое выражение в этой фразе должно принимать единственное значение для группы, т.е. оно может быть либо значением столбца, указанного в GROUP BY, либо арифметическим выражением, включающим это значение, либо константой, либо одной из SQL-функций, которая оперирует всеми значениями столбца в группе и сводит эти значения к единственному значению (например, к сумме).

Отметим, что фраза GROUP BY не предполагает ORDER BY. Чтобы гарантировать упорядочение по ПР результата рассматриваемого примера (рис. 2.3,в) следует дать запрос

SELECT	ПР, SUM(К_во)
FROM	Поставки
GROUP	BY ПР
ORDER	BY ПР;

Наконец, отметим, что строки таблицы можно группировать по любой комбинации ее столбцов. Так, по запросу

SELECT	Т, БЛ, COUNT(БЛ)
FROM	Заказ
GROUP	BY Т, БЛ;

можно узнать коды и количество порций блюд, заказанных отдыхающими пансионата (32 человека) на каждую из трапез следующего дня:

ТБЛCOUNT(БЛ)
1318
1 6 14
1 19 17
121 15
...

Если в запросе используются фразы WHERE и GROUP BY, то строки, не удовлетворяющие фразе WHERE, исключаются до выполнения группирования.

Например, выдать для каждого продукта его код и общий объем возможных поставок, учитывая временную недееспособность поставщика с ПС=2:

SELECT	ПР, SUM(К_во)
FROM	Поставки
WHERE	ПС <> 2
GROUP	BY ПР;

Результат, приведенный на рис. 2.3,г, отличается от результата (рис. 2.3,а) аналогичного запроса для всех поставщиков объемом поставок продуктов с кодами 15, 5 и 6.

2.5.2 | Содержание | 2.5.4