Запросы, которые группируют данные и подводят итоги
Запросы, которые группируют данные и подводят итоги
Часто требуется создавать запросы, подобные следующему: "Сколько заказов поступило вчера?" При этом вас не интересует, кто оформил заказ, вы только хотите знать количество вчерашних заказов. Это можно сделать, используя запросы, группирующие итоговые функции.
Запросы с группировкой подводят итоги по одному или нескольким полям. Например, если вам интересно увидеть число заказов для каждого клиента, то нужно создать приведенный ниже запрос для таблицы tblOrder с группировкой данных по полю CustomerID.
SELECT CustomerID, COUNT(CustomerID) AS TotalOrders
FROM tblOrder
GROUP BY CustomerID
Результат выполнения такого запроса приведен ниже.
CustomerID TotalOrders 1 2 2 1 4 3 5 1 7 1 8 2Обратите внимание на использование предложения AS в этом выражении SQL. Оно предназначено для присвоения имени столбцу, содержащему результат итоговой функции, поскольку этот результат вычисляется, а не хранится в базе данных.
Для отображения имен клиентов вместо их идентификаторов нужно просто объединить с результатами запроса данные из таблицы tblCustomer.
SELECT tblOrder.CustomerID, FirstName, LastName
COUNT(dbo.tblOrder.CustomerID) AS TotalOrders
FROM tblOrder INNER JOIN tblCustomer
ON tblOrder.CustomerID = tblCustomer.ID
GROUP BY FirstName, LastName, CustomerID
После выполнения такого запроса будет получен приведенный ниже результат.
CustomerID FirstName LastName TotalOrders 1 John Smith 2 2 Jill Azalia 1 4 Daisy Klein 3 5 Dave Martin 1 7 Thurston Ryan 1 8 Jane Winters 2В этом случае предложение GROUP BY содержит поле CustomerID вместе с объединенными полями FirstName и LastName из таблицы tblCustomer. При использовании предложения GROUP BY в него необходимо включить все поля, по которым группируются извлекаемые записи. В данном случае идентификатор клиента и его имя участвуют в группировании данных и потому присутствуют в предложении GROUP BY. (К счастью, если вы забудете выполнить эту операцию, среда Visual Studio .NET автоматически предложит вам сделать это.)
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Подводим итоги
Подводим итоги Сейчас средняя веб-страница состоит более чем из 50 объектов (для Рунета, по статистическим данным webo.in, ситуация весьма похожа: число объектов колеблется в пределах 40–50), поэтому минимизация издержек на доставку объектов является весьма критичной для
Итоги
Итоги Профессионал не обязан отвечать «да» на все, что от него требуют. Тем не менее он должен приложить максимум усилий к тому, чтобы это «да» стало возможным. Когда профессионалы говорят «да», они используют такие формулировки, чтобы у собеседника не возникало сомнений
2.3. Итоги главы
2.3. Итоги главы На этом мы заканчиваем рассмотрение WinSock. Многие возможности этого стандарта остались не рассмотренными и даже не упомянутыми. Но для этого существуют книги, подобные [3]. Нашей же основной задачей было последовательное знакомство с базовыми возможностями
4.5.3. Функции, которые создают новые конфигурации из существующих 4.5.3.1. Функции геометрии, которые производят новые конфигурации
4.5.3. Функции, которые создают новые конфигурации из существующих 4.5.3.1. Функции геометрии, которые производят новые конфигурации Раздел "4.5.2. Функции Geometry" обсуждает несколько функций, которые создают новые конфигурации из
Итоги
Итоги Надеюсь чтение доставило вам удовольствие и вы приобрели полезные знания которые будете применять в жизни! В любом случае не ограничивайтесь прочтением этой книги - продолжайте совершенствовать свои навыки по управлению временем, лучший способ для этого это
Итоги
Итоги В конце раздела хотелось бы сделать небольшое сравнение результатов рассмотренных программ. Поскольку классическая дефрагментация реестра с использованием этих программ в сравнении не нуждается (просто нечего сравнивать), сравним размер реестра до и после
Итоги
Итоги Еще раз сравним программы. На этот раз будем сравнивать количество проблем, которые нашли программы для очистки реестра.В табл. 5.2 представлено количество проблем, которые программы нашли при первой очистке реестра (строка «Очистка 1»). После того как программы
Итоги
Итоги Немаловажным фактором комфортной работы с редактором реестра является его быстродействие. Это неочевидный факт, который понимаешь только в тот момент, когда приходится ждать открытия нужной ветви реестра по 10–20 секунд. Это действительно непонятно сразу, ведь
Подведем итоги
Подведем итоги В самом начале этой заметки я не обещал дать однозначного ответа на поставленный в ее заголовке вопрос. Точнее, обещал, что его не будет. И действительно, для себя однозначного ответа я не вижу. Но кое-какие наметки для него сделать себе позволю.Чем подкупает
Итоги
Итоги Подведём итог. Для Fedora и openSUSE характерна блестящая поддержка «титульного» десктопа и произвольная, часто по остаточному принципу, всех остальных. Что я ни в коем случае не отнёс бы к недостаткам: лучше один хорошо заточенный десктоп, чем много недоделанных. Что мы,
Итоги
Итоги Взаимосвязь между файлообменом и фундаментальными правами очень проста:• Файлообмен никуда не денется. Независимо от того, что Пиратская Партия или кто-либо еще сделает или не сделает, это не изменит этого факта. В будущем станет невозможно требовать денег просто
Итоги установки
Итоги установки Вот теперь можно и переключится на Джуйку. Одна беда – за время наблюдений за процессом установки и размышлений о его сути установка-то и закончилась. Что неудивительно: ведь копирование образа из оперативной памяти на современный винчестер – дело