鍍金池/ 教程/ 數(shù)據(jù)庫/ SQL GROUP BY 子句
SQL AND 和 OR 連接運(yùn)算符
SQL 刪除數(shù)據(jù)庫
SQL 使用序列
SQL CONCAT 函數(shù)
SQL 使用視圖
SQL SELECT 語句
SQL 別名
SQL MAX 函數(shù)
SQL 創(chuàng)建表
SQL NULL 值
SQL 數(shù)據(jù)類型
SQL RAND 函數(shù)
SQL 臨時表
SQL INSERT 語句
SQL ALTER TABLE 命令
SQL 關(guān)系型數(shù)據(jù)庫管理系統(tǒng)
SQL SUM 函數(shù)
SQL 子查詢
SQL UPDATE 語句
SQL 表達(dá)式
SQL 操作符
SQL ORDER BY 子句
SQL WHERE 子句
SQL 對結(jié)果進(jìn)行排序
SQL 注入
SQL AVG 函數(shù)
SQL 選擇數(shù)據(jù)庫,USE 語句
SQL 克隆數(shù)據(jù)表
SQL COUNT 函數(shù)
SQL 語法
SQL DELETE 語句
SQL 約束
SQL 刪除表
SQL TOP、LIMIT 和 ROWNUM 子句
SQL 日期函數(shù)
SQL TRUNCATE TABLE 命令
SQL DISTINCT 關(guān)鍵字
SQL 處理重復(fù)數(shù)據(jù)
SQL 使用連接
SQL 索引
SQL 事務(wù)
SQL GROUP BY 子句
SQL HAVING 子句
SQL MIN 函數(shù)
SQL 概覽
SQL SQRT 函數(shù)
SQL LIKE 子句
SQL 通配符
SQL UNION 子句
SQL 數(shù)據(jù)庫
SQL 創(chuàng)建數(shù)據(jù)庫

SQL GROUP BY 子句

SQL GROUP BY 子句與 SELECT 語句結(jié)合在一起使用,可以將相同數(shù)據(jù)分成一組。

在 SELECT 語句中,GROUP BY 子句緊隨 WHERE 子句,在 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 |
    +----+----------+-----+-----------+----------+

如果你想要知道每個客戶的薪水如何,可以寫一個帶有 GROUP BY 子句的查詢:

    SQL> SELECT NAME, SUM(SALARY) FROM CUSTOMERS
         GROUP BY NAME;

結(jié)果如下所示:

    +----------+-------------+
    | NAME     | SUM(SALARY) |
    +----------+-------------+
    | Chaitali |     6500.00 |
    | Hardik   |     8500.00 |
    | kaushik  |     2000.00 |
    | Khilan   |     1500.00 |
    | Komal    |     4500.00 |
    | Muffy    |    10000.00 |
    | Ramesh   |     2000.00 |
    +----------+-------------+

現(xiàn)在,讓我們換一張 CUSTOMERS 表,表中記錄的 NAME 字段有重復(fù)值:

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

同樣,如果你想要知道每個客戶的薪水如何的話,可以寫一個帶有 GROUP BY 子句的查詢:

    SQL> SELECT NAME, SUM(SALARY) FROM CUSTOMERS
         GROUP BY NAME;

結(jié)果如下所示:

    +---------+-------------+
    | NAME    | SUM(SALARY) |
    +---------+-------------+
    | Hardik  |     8500.00 |
    | kaushik |     8500.00 |
    | Komal   |     4500.00 |
    | Muffy   |    10000.00 |
    | Ramesh  |     3500.00 |
    +---------+-------------+
上一篇:SQL RAND 函數(shù)下一篇:SQL LIKE 子句