sql server ___________session_10(group by clause)
TRANSCRIPT
GROUP BY CLAUSE
The GROUP BY clause is used to organize output rows into groups.
Group by clause can be used with different clauses. That are given below
Group by with where Group by with null Group by with all Group by with having
The where clause can be used with group by clause to restrict the row for grouping.
The rows that satisfy the search condition are considered fro grouping.
Example : Select cust_id ,sum(salary) from customer
where cust_name like ‘m%’ group by cust_id.
GROUP BY WITH WHERE
If the grouping column contain a null value, that row become a separate group in the result set.
Example: select student_class,count(student_class)
from student where student_class=‘null' group by student_class
GROUP BY WITH NULL
ALL is significant only when the SELECT has a WHERE clause. When ALL is used. It includes all the group by clause produces. It even includes those groups which do not meet the search conditions.
Example:
Select job,sum(salary) from emp where job like 's%' or job like 'c% 'group by all job
GROUP BY WITH ALL
Group by clause also uses operator like Cube Rollup Example:
SUMMARIZING DATA
Item Color quantity
Table Blue 124Table Red 223Chair Blue 101Chair Red 210
Generates the simple GROUP BY aggregate rows, plus subtotal or super-aggregate rows, and also a grand total row.
Example: Select
item_name,item_color,sum(item_quantity) from item group by item_name,item_color with rollup
Rollup
Output
CUBE is an aggregate operator that produces a super aggregate row.
Example: select
item_name,item_color,sum(item_quantity) as total from item group by item_name,item_color with cube
CUBE
Item Color Quantity_sumChair Blur 101Chair Red 210Chair Null 311Table Blue 124Table Red 223Table Null 347Null Null 658Null Blue 225null red 433
Output
CUBE generates a result set that shows
aggregates for all combinations of values in the selected columns.
ROLLUP generates a result set that shows aggregates for a hierarchy of values in the selected columns.
Differences between CUBE and ROLLUP: