Home >> FAQs/Tutorials >> SQL Server FAQ

SQL Server FAQ - "GROUP BY" - Dividing Query Output into Multiple Groups

By: FYIcenter.com

(Continued from previous topic...)

How To Divide Query Output into Multiple Groups with the GROUP BY Clause?

Sometimes, 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 fyi_links GROUP BY tag
tag     COUNT(*) MAX(counts)  MIN(created)
DBA     3        972          2005-01-01
DEV     2        439          2004-01-01
SQA     2        828          2003-01-01

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.

(Continued on next topic...)

  1. What Is a SELECT Query Statement?
  2. How To Create a Testing Table with Test Data?
  3. How To Select All Columns of All Rows from a Table with a SELECT statement?
  4. How To Select Some Specific Columns from a Table in a Query?
  5. How To Select Some Specific Rows from a Table?
  6. How To Add More Data to the Testing Table?
  7. How To Sort the Query Output with ORDER BY Clauses?
  8. Can the Query Output Be Sorted by Multiple Columns?
  9. How To Sort Query Output in Descending Order?
  10. How To Count Rows with the COUNT(*) Function?
  11. Can SELECT Statements Be Used on Views?
  12. How To Filter Out Duplications in the Returning Rows?
  13. What Are Group Functions in Query Statements?
  14. How To Use Group Functions in the SELECT Clause?
  15. Can Group Functions Be Mixed with Non-group Selection Fields?
  16. How To Divide Query Output into Multiple Groups with the GROUP BY Clause?
  17. How To Apply Filtering Criteria at Group Level with The HAVING Clause?
  18. How To Count Duplicated Values in a Column?
  19. Can Multiple Columns Be Used in GROUP BY?
  20. Can Group Functions Be Used in the ORDER BY Clause?

Related Articles:


Other Tutorials/FAQs:


Related Resources:


Selected Jobs: