Course Hive
Search

Welcome

Sign in or create your account

Continue with Google
or
Grouping function in SQL Server
Play lesson

SQL Server tutorial for beginners - Grouping function in SQL Server

5.0 (5)
35 learners

What you'll learn

This course includes

  • 27 hours of video
  • Certificate of completion
  • Access on mobile and TV

Summary

Keywords

Full Transcript

sql server rollup grouping sql server rollup replace null sql server rollup grouping replace null In this video we will discuss the use of Grouping function in SQL Server. Healthy diet is very important both for the body and mind. If you like Aarvi Kitchen recipes, please support by sharing, subscribing and liking our YouTube channel. Hope you can help. https://www.youtube.com/channel/UC7sEwIXM_YfAMyonQCrGfWA/?sub_confirmation=1 This is continuation to Part 104. Please watch Part 104 from SQL Server tutorial before proceeding. What is Grouping function Grouping(Column) indicates whether the column in a GROUP BY list is aggregated or not. Grouping returns 1 for aggregated or 0 for not aggregated in the result set. The following query returns 1 for aggregated or 0 for not aggregated in the result set 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) What is the use of Grouping function in real world When a column is aggregated in the result set, the column will have a NULL value. If you want to replace NULL with All then this GROUPING function is very handy. SELECT CASE WHEN GROUPING(Continent) = 1 THEN 'All' ELSE ISNULL(Continent, 'Unknown') END AS Continent, CASE WHEN GROUPING(Country) = 1 THEN 'All' ELSE ISNULL(Country, 'Unknown') END AS Country, CASE WHEN GROUPING(City) = 1 THEN 'All' ELSE ISNULL(City, 'Unknown') END AS City, SUM(SaleAmount) AS TotalSales FROM Sales GROUP BY ROLLUP(Continent, Country, City) Can't I use ISNULL function instead as shown below SELECT ISNULL(Continent, 'All') AS Continent, ISNULL(Country, 'All') AS Country, ISNULL(City, 'All') AS City, SUM(SaleAmount) AS TotalSales FROM Sales GROUP BY ROLLUP(Continent, Country, City) Well, you can, but only if your data does not contain NULL values. Let me explain what I mean. At the moment the raw data in our Sales has no NULL values. Let's introduce a NULL value in the City column of the row where Id = 1 Update Sales Set City = NULL where Id = 1 Now execute the following query with ISNULL function SELECT ISNULL(Continent, 'All') AS Continent, ISNULL(Country, 'All') AS Country, ISNULL(City, 'All') AS City, SUM(SaleAmount) AS TotalSales FROM Sales GROUP BY ROLLUP(Continent, Country, City) Notice that the actuall NULL value in the raw data is also replaced with the word 'All', which is incorrect. Hence the need for Grouping function. Please note : Grouping function can be used with Rollup, Cube and Grouping Sets Text version of the video http://csharp-video-tutorials.blogspot.com/2015/09/grouping-function-in-sql-server.html Slides http://csharp-video-tutorials.blogspot.com/2015/09/grouping-function-in-sql-server_25.html All SQL Server Text Articles http://csharp-video-tutorials.blogspot.com/p/free-sql-server-video-tutorials-for.html All SQL Server Slides http://csharp-video-tutorials.blogspot.com/p/sql-server.html All Dot Net and SQL Server Tutorials in English https://www.youtube.com/user/kudvenkat/playlists?view=1&sort=dd All Dot Net and SQL Server Tutorials in Arabic https://www.youtube.com/c/KudvenkatArabic/playlists

Course Hive

Continue this lesson in the app

Install CourseHive on Android or iOS to keep learning while you move.

Related Courses

FAQs

Course Hive
Download CourseHive
Keep learning anywhere