Tin học 88 - chia sẻ kiến thức
ADS

Truy vấn SQL Group By và SQL Having

Bài viết sau đây sẽ giới thiệu tới các bạn về chuyên mục SQL Group By và SQL Having trong SQL server 2005.

Mục lục

    Các hàm tổng (như SUM) thường kèm theo chức năng GROUP BY.

    Từ khóa GROUP BY

    Từ khóa GROUP BY được thêm vào SQL vì các hàm tổng (như SUM) trả về tổng của tất cả các trị trong cột mỗi khi chúng ta gọi đến. 

    Thiếu chức năng GROUP BY, không thể tìm tổng của mỗi nhóm trị riêng trong cột.  Cú pháp của GROUP BY như sau:

    SELECT column,SUM(column) FROM table GROUP BY column

    Ví dụ GROUP BY

    Bảng "Sales":

    Company

    Amount

    W3Schools

    5500

    IBM

    4500

    W3Schools

    7100

    Với SQL:

    SELECT Company, SUM(Amount) FROM Sales

    Trả về kết quả như sau:

    Company

    SUM(Amount)

    W3Schools

    17100

    IBM

    17100

    W3Schools

    17100

    SQL trên không trả về tổng riêng biệt của từng công ty. Dùng mệnh đề GROUP BY như sau: 

    SELECT Company,SUM(Amount) FROM Sales GROUP BY Company

    Sẽ trả về kết quả đúng:

    Company

    SUM(Amount)

    W3Schools

    12600

    IBM

    4500

    Từ khóa The HAVING

    Từ khóa HAVING được thêm vào SQL vì từ khóa WHERE không thể dùng với các hàm tổng (như hàm SUM). 

    Thiếu từ khóa HAVING sẽ không thể kiểm tra các điều kiện dùng hàm tổng.  Cú pháp của HAVING như sau:

    SELECT column,SUM(column) FROM table GROUP BY column
    HAVING SUM(column) condition value

    Bảng "Sales":

    Company

    Amount

    W3Schools

    5500

    IBM

    4500

    W3Schools

    7100

    Với SQL:

    SELECT Company,SUM(Amount) FROM Sales

    GROUP BY Company HAVING SUM(Amount)>10000

     

    Trả về kết quả 

     

    Company

    SUM(Amount)

    W3Schools

    12600 





    Bài viết khác

    Truy vấn SQL Alter Table

    Bài viết sau đây sẽ giới thiệu tới các bạn về sql, SQL Alter Table, lợi ích của nó trong

    Truy vấn SQL Alter Table

    Truy vấn SQL Tạo Cơ sở dữ liệu và Bảng

    Bài viết sau đây sẽ giới thiệu tới các bạn cách tạo cơ sở dữ liệu và bảng trong sql,

    Truy vấn SQL Tạo Cơ sở dữ liệu và Bảng

    Truy vấn SQL Join trong SQL Server

    Bài viết sau đây sẽ giới thiệu tới các bạn về sql, SQL Join trong SQL. Chúng ta hãy cùng

    Truy vấn SQL Join trong SQL Server

    Các bí danh (Alias) trong SQL Server

    Bài viết sau đây sẽ giới thiệu tới các bạn về Các bí danh (Alias) SQL trong sql server 2005,

    Các bí danh (Alias) trong SQL Server

    Một số hàm tính toán thông dụng trong SQL server

    Bài viết sau đây sẽ giới thiệu với các bạn về các hàm SQL trong sql server 2005, chúng ta

    Một số hàm tính toán thông dụng trong SQL server

    Hàm Count trong SQL server

    Hiểu về SQL cũng chính là hiểu về các hàm trong đó. Bài viết sau đây sẽ giới thiệu tới

    Hàm Count trong SQL server

    Truy vấn SQL Delete

    Bài viết này sẽ giúp các bạn hiểu và biết cách xóa trong sql, chúng ta hãy cùng nhau tìm hiểu

    Truy vấn SQL Delete

    Truy vấn SQL Update

    Bài viết giới thiệu về SQL Update trong sql server 2005, chúng ta hãy cùng nhau tìm hiểu bài viết

    Truy vấn SQL Update

    Truy vấn SQL INSERT INTO

    Bài viết sau đây sẽ giới thiệu tới các bạn về SQL INSERT INTO  trong sql server 2005. chúng

    Truy vấn SQL INSERT INTO

    Truy vấn SQL Order By

    Bài viết sau đây sẽ giới thiệu tới các bạn về Sql Order By trong sql server 2005. chúng ta hãy

    Truy vấn SQL Order By

    Đề thi tham khảo