Skip to main content

Partition in SQL


I have been off track for a while due to heavy office commitments, even if it had me away I was able to gain a good chunk of knowledge which I’m willing to share with you all. Today I’m gonna discuss the impressive partition function which saved my day in so many ways.

It is as simple as its name states, we are partitioning the query output by giving a set of condition. This can be useful for many needs like given below.

1.       Identify and remove the duplicates precisely.
2.       Unlike the conventional Group By syntax, this allows more customized grouping when retrieving data.

Since I work with school data all night long I came up with a code from what I do.

WITH HighestMark AS (
 SELECT
       [StudentID]
      ,[Year]
      ,[Semester]
      ,[FullName]
      ,[Grade]
      ,[Year]
      ,[Semester]
      ,[Subject]
      ,[Mark]
      ,row_number() OVER(PARTITION BY [StudentID],[Subject] ORDER BY [StudentID] DESC) AS [rn]
  FROM [SemesterResults]
)
SELECT * FROM HighestMark WHERE [rn] = 1



As you can see in this case I’m using the partition for identifying the highest mark obtained for each subject by a student considering all the exams.

So in simple words, you can use your choice of columns in the select statement to partition and also you can use any column of your choice to order (no need for it to be used in the partition).

Lets windup for the day folks, last but not least I wanna say what are you waiting for give it a shot.


Comments

Popular posts from this blog

Choosing color scheme for Power BI reports

Choosing beautiful colors for an attention seeking Power BI report is always challenging. Sometimes we may have an important message but it might go unseen if proper color scheme is not used, so it is important to create reports which are informational and visually appealing. In this blog our main objective is to get an idea about selecting appropriate color scheme and tools that can be beneficial to do this. What is a color scheme? As you all know not all colors look great together and you can tell stories by just having only two colors, have a look at the following image, there in the middle you can see a circle with same color and same dimension, only thing that changes is the back ground, but depending on the back ground the way you see those circles are totally different. Some small circles appear softer, some appear sharper, and some are brighter also you might notice movements or depth effect too. It is important to choose colors wisely to serve the purp...

Ragged hierarchy in Power BI

Case- I have a data set which has to be visualized in a ragged hierarchy. What is ragged hierarchy A ragged hierarchy is a user defined hierarchy with an uneven number of levels.   You can see the above table which has 5 levels of hierarchy. In the first level we only have “World” as a category then moving forward to the next level we have two categories  namely “UK” and “USA” likewise the level of hierarchy is drilling down up to five levels with an uneven amount of categories. Creating a hierarchy in Power BI In the above image  you can notice that I have right clicked the “level 1” column which has to be the first level of our hierarchy, Once it is right clicked there you will notice “New hierarchy” as the second option then you will have to click that in order to create a new one. As you can notice in the above image once I have created a new hierarchy then a new column is created named “Level 1 Hierarchy” in that I have d...

The new “Sync Slicers” is it better than Drill through Feature in Power BI ?

Power BI is a visualization tool for intelligence analysis. In my personal carrier I have been working with this tool for over a period of half-year and the tool is very user-friendly with engaging UI and an easier learning curve. For the past few months, the arising question is to have a better filtering mechanism throughout the reports with multiple pages in power BI, so that people can precisely view what they want. This has been earlier enabled by the introduction of the drill-through feature which requires some hassle for the end-user to navigate to a specific point which involves multiple key presses and it is not a healthy experience in an end-user perspective.  The newly introduced sync slicers seem to be a better alternative than the drill through but how far does it fit and is it really better than the drill through? Let’s dig more on to this, and it's you to decide. First of all, I would like to say what does the sync slicers exactly does. “Sync slicer...