У нас вы можете посмотреть бесплатно Функция группировки в SQL Server или скачать в максимальном доступном качестве, видео которое было загружено на ютуб. Для загрузки выберите вариант из формы ниже:
Если кнопки скачивания не
загрузились
НАЖМИТЕ ЗДЕСЬ или обновите страницу
Если возникают проблемы со скачиванием видео, пожалуйста напишите в поддержку по адресу внизу
страницы.
Спасибо за использование сервиса ClipSaver.ru
Группировка SQL Server Rollup Замена NULL в SQL Server Rollup Замена NULL в SQL Server Rollup В этом видео мы обсудим использование функции Grouping в SQL Server. Здоровое питание очень важно как для тела, так и для разума. Если вам нравятся рецепты Aarvi Kitchen, пожалуйста, поддержите нас, поделившись, подписавшись на наш канал на YouTube и поставив лайк. Надеемся на вашу помощь. / @aarvikitchen5572 Это продолжение части 104. Перед продолжением, пожалуйста, посмотрите часть 104 из руководства по SQL Server. Что такое функция Grouping? Grouping(Column) указывает, агрегирован ли столбец в списке GROUP BY. Grouping возвращает 1 для агрегированного результата и 0 для неагрегированного результата в результирующем наборе. Следующий запрос возвращает 1 для агрегированных данных или 0 для неагрегированных данных в результирующем наборе. SELECT Continent, Country, City, SUM(SaleAmount) AS TotalSales, GROUPING(Continent) AS GP_Continent, GROUPING(Country) AS GP_Country, GROUPING(City) AS GP_City FROM Sales GROUP BY ROLLUP(Continent, Country, City) Для чего используется функция группировки в реальном мире? При агрегировании столбца в результирующем наборе этот столбец будет иметь значение NULL. Если вы хотите заменить NULL на All, то эта функция GROUPING очень удобна. SELECT CASE WHEN GROUPING(Континент) = 1 THEN 'All' ELSE ISNULL(Континент, 'Unknown') END AS Континент, CASE WHEN GROUPING(Страна) = 1 THEN 'All' ELSE ISNULL(Страна, 'Unknown') END AS Страна, CASE WHEN GROUPING(Город) = 1 THEN 'All' ELSE ISNULL(Город, 'Unknown') END AS Город, SUM(SaleAmount) AS TotalSales FROM Sales GROUP BY ROLLUP(Континент, Страна, Город) Нельзя ли использовать функцию ISNULL вместо этого, как показано ниже? SELECT ISNULL(Континент, 'All') AS Континент, ISNULL(Страна, 'All') AS Страна, ISNULL(Город, 'Все') AS Город, SUM(ОбъемПродаж) AS ВсегоПродаж FROM Продажи GROUP BY ROLLUP(Континент, Страна, Город) Да, можно, но только если ваши данные не содержат значений NULL. Позвольте мне объяснить, что я имею в виду. На данный момент исходные данные в наших продажах не содержат значений NULL. Введем значение NULL в столбец «Город» строки, где Id = 1. Обновим набор продаж «Город» = NULL, где Id = 1. Теперь выполним следующий запрос с функцией ISNULL. SELECT ISNULL(Континент, 'Все') AS Континент, ISNULL(Страна, 'Все') AS Страна, ISNULL(Город, 'Все') AS Город, SUM(ОбъемПродаж) AS ВсегоПродаж FROM Продаж GROUP BY ROLLUP(Континент, Страна, Город) Обратите внимание, что фактическое значение NULL в исходных данных также заменено на слово «Все», что неверно. Поэтому необходима функция группировки. Обратите внимание: функцию группировки можно использовать с функциями Rollup, Cube и Grouping Sets. Текстовая версия видео http://csharp-video-tutorials.blogspo... Слайды http://csharp-video-tutorials.blogspo... Все текстовые статьи по SQL Server http://csharp-video-tutorials.blogspo... Все слайды по SQL Server http://csharp-video-tutorials.blogspo... Все обучающие материалы по DotNet и SQL Server на английском языке https://www.youtube.com/user/kudvenka... Все Учебные пособия по DotNet и SQL Server на арабском языке / kudvenkatarabic