Click here to Skip to main content
13,351,954 members (89,786 online)
Click here to Skip to main content
Add your own
alternative version


4 bookmarked
Posted 4 Jan 2013

Grouping dynamically on different columns in single query

, 4 Jan 2013
Rate this:
Please Sign up or sign in to vote.
Grouping dynamically on different columns in single query


Dynamic grouping is a big problem when you want to show grouping on different columns in the same query so either you need to write different queries or do some kind of dynamic query; instead of that, the solution I describe below will help to dynamically manipulate results.

Using the code

Grouping on different columns of a table incrementally by its hierarchy but conditionally, i.e.,

Grouping on organization hierarchy
Enterprise, Group, Company, RO, Branch


Grouping on Employee hierarchy by Role
MD, CxO, GH, DH, Worker


Grouping based on Time hierarchy
Hour, Minute, Sec, milisec

The SQL:

declare @Groupby int
set @Groupby = 2 

-- 1 shall do group by miliSec

-- 2 shall do group by Secs

-- 3 shall do group by Minute


case when @Groupby <= 4 then Hour else 'All' end as Hour,

case when @Groupby <= 3 then Minute else 'All' end as Minute,

case when @Groupby <= 2 then Secs else 'All' end as Secs,

case when @Groupby <= 1 then milisec else 'All' end as milisec

Sum(Cases) as NoOfCases

From TimeDim

GroupBy Hour, Minute, Secs, milisec 

Points of Interest

Use this in code at places where on user selection we wanted to show summary reports.


First version released.


This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


About the Author

India India
I work as CTO for Orwell IT Solutions Pvt Ltd.
I like to read about new technologies and experiment, I am always watchful and also mentor newbies joined in organization. I have blog on wordpress.

You may also be interested in...


Comments and Discussions

QuestionCan you provide any example? I understood NOTHING. Pin
Dmitry Barovik10-Jan-13 20:50
memberDmitry Barovik10-Jan-13 20:50 
AnswerI guess I am pretty clear on what I am suggesting. Pin
RahulAJoshi11-Jan-13 4:02
memberRahulAJoshi11-Jan-13 4:02 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

Permalink | Advertise | Privacy | Terms of Use | Mobile
Web04 | 2.8.180111.1 | Last Updated 4 Jan 2013
Article Copyright 2013 by RahulAJoshi
Everything else Copyright © CodeProject, 1999-2018
Layout: fixed | fluid