开发手册 欢迎您!
软件开发者资料库

T-SQL - GROUP BY子句

T-SQL GROUP BY子句 - 从简单和简单的步骤学习T-SQL,从基本概念到高级概念,包括概述,数据类型,创建表,删除表,INSERT语句,SELECT语句,UPDATE语句,DELETE语句,WHERE子句,LIKE子句,ORDER BY子句,GROUP BY子句,DISTINCT子句,连接表,子查询,存储过程,事务,索引,函数,字符串函数,日期函数,数字函数。

SQL Server GROUP BY 子句与SELECT语句配合使用,将相同的数据排列成组.

GROUP BY子句遵循WHERE子句在SELECT语句中并在ORDER BY子句之前.

语法

以下是GROUP BY子句的基本语法. GROUP BY子句必须遵循WHERE子句中的条件,并且必须在ORDER BY子句之前(如果使用).

  SELECT column1,column2  FROM table_name  WHERE [conditions]  GROUP BY column1,column2  ORDER BY column1,column2

示例

考虑CUSTOMERS表有以下记录 :

ID  NAME       AGE       ADDRESS          SALARY 1   Ramesh     32        Ahmedabad        2000.00 2   Khilan     25        Delhi            1500.00 3   kaushik    23        Kota             2000.00 4   Chaitali   25        Mumbai           6500.00 5   Hardik     27        Bhopal           8500.00 6   Komal      22        MP               4500.00 7   Muffy      24        Indore           10000.00

如果你想知道每个顾客的工资总额,那么llowing将是GROUP BY查询.

SELECT NAME, SUM(SALARY) as [sum of salary] FROM CUSTOMERS    GROUP BY NAME;

上述命令将产生以下输出.

NAME        sum of salary Chaitali    6500.00 Hardik      8500.00 kaushik     2000.00 Khilan      1500.00 Komal       4500.00 Muffy       10000.00 Ramesh      2000.00

现在让我们考虑以下CUSTOMERS表,其中包含以下重复名称的记录.

ID  NAME       AGE       ADDRESS           SALARY 1   Ramesh     32        Ahmedabad         2000.00 2   Khilan     25        Delhi             1500.00 3   kaushik    23        Kota              2000.00 4   Chaitali   25        Mumbai            6500.00 5   Hardik     27        Bhopal            8500.00 6   Komal      22        MP                4500.00 7   Muffy      24        Indore            10000.00

如果我们想知道总数每个客户的工资额,然后是GROUP BY查询.

  SELECT NAME,SUM(SALARY)as [salary of salary] FROM CUSTOMERS  GROUP BY NAME

上述命令将产生以下输出.

NAME        sum of salary Hardik      8500.00 kaushik     8500.00 Komal       4500.00 Muffy       10000.00 Ramesh      3500.00