Bỏ qua đến nội dung
Bỏ qua điều hướng
Đăng nhập
MT.NET.VN

Viewbh Menh De Group By Trong Sql2023 04 12 11 10 40

Tìm kiếm
Thuộc khóa học · baihoc_sub = 50

MS SQL ( Basic to Pro )

Bài 1 / 1 trong khóa học.

Xem khóa học
100%
Bài trướcĐây là bài đầu tiên Bài sauĐây là bài cuối cùng
MT LEARNING · LESSON

Mệnh đề GROUP BY trong SQL

Mệnh đề GROUP BY trong SQL

Mệnh đề GROUP BY trong SQL

Mệnh đề GROUP BY trong SQL



Mệnh đề GROUP BY trong SQL được sử dụng hợp tác với câu lệnh SELECT để sắp xếp dữ liệu giống nhau thành các nhóm. Mệnh đề GROUP BY này tuân theo mệnh đề WHERE trong câu lệnh SELECT và đứng trước mệnh đề ORDER BY.

Nội dung chính

Cú pháp

Cú pháp cơ bản của mệnh đề GROUP BY được hiển thị trong khối mã sau. Mệnh đề GROUP BY trong SQL phải tuân theo các điều kiện trong mệnh đề WHERE và phải đứng trước mệnh đề ORDER BY nếu mệnh đề được sử dụng.

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


Ví dụ

Giả sử bảng CUSTOMERS có các bản ghi sau đây:

Output:

 +----+----------+-----+-----------+----------+ | ID | NAME     | AGE | ADDRESS   | SALARY   | +----+----------+-----+-----------+----------+ |  1 | Ha Anh   |  32 | Da Nang   |  2000.00 | |  2 | Van Ha   |  25 | Ha Noi    |  1500.00 | |  3 | Vu Bang  |  23 | Vinh      |  2000.00 | |  4 | Thu Minh |  25 | Ha Noi    |  6500.00 | |  5 | Hai An   |  27 | Ha Noi    |  8500.00 | |  6 | Hoang    |  22 | Ha Noi    |  4500.00 | |  7 | Binh     |  24 | Ha Noi    | 10000.00 | +----+----------+-----+-----------+----------+ 

Nếu bạn muốn biết tổng số tiền lương của mỗi khách hàng, thì truy vấn GROUP BY sẽ như sau.

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

Điều này sẽ tạo ra kết quả sau:

 +----------+-------------+ | NAME     | SUM(SALARY) | +----------+-------------+ | Binh     |    10000.00 | | Ha Anh   |     2000.00 | | Hai An   |     8500.00 | | Hoang    |     4500.00 | | Thu Minh |     6500.00 | | Van Ha   |     1500.00 | | Vu Bang  |     2000.00 | +----------+-------------+ 

Bây giờ, chúng ta hãy nhìn vào một bảng nơi bảng CUSTOMERS có các bản ghi sau với tên trùng lặp:

 +----+----------+-----+-----------+----------+ | ID | NAME     | AGE | ADDRESS   | SALARY   | +----+----------+-----+-----------+----------+ |  1 | Ha Anh   |  32 | Ha Noi    |  2000.00 | |  2 | Ha Anh   |  25 | Ha Noi    |  1500.00 | |  3 | Vu Bang  |  23 | Vinh      |  2000.00 | |  4 | Thu Minh |  25 | Ha Noi    |  6500.00 | |  5 | Hai An   |  27 | Ha Noi    |  8500.00 | |  6 | Hai An   |  22 | Ha Noi    |  4500.00 | |  7 | Hai An   |  24 | Ha Noi    | 10000.00 | +----+----------+-----+-----------+----------+ 

Bây giờ một lần nữa, nếu bạn muốn biết tổng số tiền lương trên mỗi khách hàng, sau đó truy vấn GROUP BY sẽ như sau:

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

Điều này sẽ tạo ra kết quả sau:

 +----------+-------------+ | NAME     | SUM(SALARY) | +----------+-------------+ | Ha Anh   |     3500.00 | | Hai An   |    23000.00 | | Thu Minh |     4500.00 | | Vu Bang  |     2000.00 | +----------+-------------+ 
Bài tiếp theo: Từ khóa DISTINCT trong SQL


ĐÁNH GIÁ NỘI DUNG 0.0/5 0 lượt đánh giá
Bạn thấy nội dung này thế nào?
Mỗi trình duyệt/tài khoản được chấm lại sau 24 giờ.
Báo bài lỗiGiúp MT.Net.VN phát hiện nội dung cần kiểm tra
Báo lỗi được ghi vào hệ thống để Admin kiểm tra. Không dùng chức năng này để gửi hỗ trợ cá nhân.

Bài học liên quan

Các bài khác có cùng khóa học cha theo baihoc_sub.

Home Dịch vụ Khóa học CPanel