Mệnh đề GROUP BY Trong SQL - Học Sql Cơ Bản đến Nâng Cao
Có thể bạn quan tâm
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
- Ví dụ
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, column2Ví 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 Mệnh đề ORDER BY trong SQL Từ khóa DISTINCT trong SQLTừ khóa » Câu Lệnh Group By Trong Oracle
-
Gộp Kết Quả Với Lệnh Group By Trong Oracle
-
Lọc Kết Quả ở Group By Với Lệnh Having Trong Oracle
-
SQL GROUP BY - TRẦN VĂN BÌNH MASTER
-
2-5 GROUP BY Và PARTITION BY - Viblo
-
GROUP BY - Mệnh đề - SQL & Database
-
Phân Tích Các Hàm Cơ Bản Trong Oracle - TaiLieu.VN
-
Mệnh đề GROUP BY Trong SQL Server
-
Tìm Các Câu Lệnh SQL Chạy Lâu, Chiếm IO, Chiếm Tài Nguyên Trong ...
-
Mệnh đề WITH Trong ORACLE
-
Điều Khoản HAVING Không Có GROUP BY Trong Cơ Sở Dữ Liệu ...
-
45 Rất Hữu Ích Oracle Tóm Tắt Câu Lệnh Truy Vấn - MofunIT
-
Kiểm Tra Kích Thước Của 1 Bảng Trong Oracle - Blog Kiến Thức Database
-
Hướng Dẫn Học SQL Cho Người Mới Bắt đầu Với Oracle
-
Hướng Dẫn Về Hàm AVG Của Oracle