Interview Questions Answers.ORG
Interviewer And Interviewee Guide
Interviews
Quizzes
Home
Quizzes
Interviews Databases Programming Interviews:BtrieveClipperData ModelingData StructuresDatabase AdministrationDatabase Administrator (DBA)Database AnalystDatabase DeveloperDB DevelopmentEDI/Data Integration ExpertFirebirdHierarchicalIBM DB2InformixJava DatabaseMariaDBMicrosoft Access DeveloperMongoDBMS SQL ServerMySQL ProgrammingNetworkNoSQLObject RelationalPostgrePostgreSQLProgressRDBMSRelationalSQLSQL AdministratorSQL and PL/SQLSQL Notification ServicesSQL server 2008SSRSStored ProcedureSybaseTeradata
Copyright © 2018. All Rights Reserved
MS SQL Server Interview Question:
How To Divide Query Output into Multiple Groups with the GROUP BY Clause in MS SQL Server?
Submitted by: AdministratorSometimes, you want to divide the query output into multiple groups, and apply group functions on each individual groups. Dividing query output into multiple groups can be done with the GROUP BY clause. Here is the syntax of a SELECT statement with a GROUP BY clause.
SELECT group_level_fields FROM source_tables
WHERE search_condition
GROUP BY group_by_expression
* group_by_express - An list of columns to be used as the group criteria - Rows that have the same combination of values of there columns form a single group.
* group_level_fields - An list of selection expressions that can be evaluated at the group level.
The final output of the SELECT statement is the resulting values of group_level_fields for each group. The following script gives you a good GROUP BY example with a single column as the group_by_expression. In this case, rows with the same value of this column will be considered as a single group.
SELECT tag, COUNT(*), MAX(counts), MIN(created)
FROM ggl_links GROUP BY tag
GO<pre>
tag COUNT(*) MAX(counts) MIN(created)
DBA 3 972 2005-01-01
DEV 2 439 2004-01-01
SQA 2 828 2003-01-01</pre><br>Notice that, column "tag" can also be used in group_level_fields, because it is used as the group_by_expression, and becomes a constant for any given group.
Submitted by: Administrator
SELECT group_level_fields FROM source_tables
WHERE search_condition
GROUP BY group_by_expression
* group_by_express - An list of columns to be used as the group criteria - Rows that have the same combination of values of there columns form a single group.
* group_level_fields - An list of selection expressions that can be evaluated at the group level.
The final output of the SELECT statement is the resulting values of group_level_fields for each group. The following script gives you a good GROUP BY example with a single column as the group_by_expression. In this case, rows with the same value of this column will be considered as a single group.
SELECT tag, COUNT(*), MAX(counts), MIN(created)
FROM ggl_links GROUP BY tag
GO<pre>
tag COUNT(*) MAX(counts) MIN(created)
DBA 3 972 2005-01-01
DEV 2 439 2004-01-01
SQA 2 828 2003-01-01</pre><br>Notice that, column "tag" can also be used in group_level_fields, because it is used as the group_by_expression, and becomes a constant for any given group.
Submitted by: Administrator
Copyright 2007-2024 by Interview Questions Answers .ORG All Rights Reserved.
https://InterviewQuestionsAnswers.ORG.
https://InterviewQuestionsAnswers.ORG.