Database
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Database

Việc sử dụng câu lệnh SQL GROUP BY là gì?

Khi có một lượng lớn dữ liệu, chúng ta thường thấy có khả năng thao tác dữ liệu theo yêu cầu của mình. Mệnh đề GROUP BY là một trong những câu lệnh như vậy trong SQL, được sử dụng để nhóm dữ liệu dựa trên một vài cột hoặc theo điều kiện. Trong bài viết này về Câu lệnh GROUP BY trong SQL, tôi sẽ thảo luận một số cách để sử dụng câu lệnh GROUP BY theo trình tự sau:

  1. Câu lệnh GROUP BY
  2. Cú pháp
  3. Ví dụ:
    • Sử dụng GROUP BY trên một cột
    • NHÓM THEO trên nhiều cột
    • Sử dụng GROUP BY với ORDER BY
    • GROUP BY với mệnh đề HAVING
    • Sử dụng GROUP BY với JOINS

Trước khi chuyển sang các ví dụ về cách sử dụng mệnh đề GROUP BY, chúng ta hãy hiểu GROUP BY trong SQL là gì và cú pháp của nó.

Câu lệnh SQL GROUP BY

Câu lệnh này được sử dụng để nhóm các bản ghi có cùng giá trị. Câu lệnh GROUP BY thường được sử dụng với các hàm tổng hợp để nhóm các kết quả theo một hoặc nhiều cột. Ngoài ra, mệnh đề GROUP BY cũng được sử dụng với mệnh đề HAVING và JOINS để nhóm tập kết quả dựa trên các điều kiện.

NHÓM SQL THEO Cú pháp

SELECT Column1, Column2,..., ColumnN
FROM TableName
WHERE Condition
GROUP BY ColumnName(s)
ORDER BY ColumnName(s);

Tại đây, bạn có thể thêm các hàm tổng hợp trước tên cột và cũng có một mệnh đề HAVING ở cuối câu lệnh để đề cập đến một điều kiện. Tiếp theo, trong bài viết này về SQL GROUP BY, chúng ta hãy hiểu cách triển khai câu lệnh này.

Ví dụ:

Để bạn hiểu rõ hơn, tôi đã chia các ví dụ thành các phần sau:

    • Sử dụng GROUP BY trên một cột
    • NHÓM THEO trên nhiều cột
    • Sử dụng GROUP BY với ORDER BY
    • GROUP BY với mệnh đề HAVING
    • Sử dụng GROUP BY với JOINS

Tôi sẽ xem xét bảng sau để giải thích cho bạn các ví dụ:

EmpID Tên miền EmpEmail Số điện thoại Mức lương Thành phố

1

Nidhi

[email protected]

9955669999

50000

Mumbai

2

Anay

[email protected]

9875679861

55000

Pune

3

Rahul

[email protected]

9876543212

35000

Delhi

4

Sonia

[email protected]

9876543234

35000

Delhi

5

Akash

[email protected]

9866865686

25000

Mumbai

Hãy để chúng tôi xem xét từng người trong số họ.

Sử dụng SQL GROUP BY trên một cột

Ví dụ:

Viết truy vấn để lấy số lượng nhân viên ở mỗi thành phố.

SELECT COUNT(EmpID), City
FROM Employees
GROUP BY City;

Đầu ra:

Bạn sẽ thấy kết quả sau:

Đếm (EmpID) Thành phố

2

Delhi

2

Mumbai

1

Pune

Sử dụng SQL GROUP BY trên nhiều cột

Ví dụ:

Viết truy vấn để truy xuất số lượng nhân viên có mức lương khác nhau ở mỗi thành phố.

SELECT City, Salary, Count(*)
FROM Employees
GROUP BY City, Salary;

Đầu ra:

Bảng sẽ có dữ liệu sau:

Thành phố Mức lương Đếm (*)

Delhi

35000

2

Mumbai

25000

1

Mumbai

50000

1

Pune

55000

1

Sử dụng SQL GROUP BY với ORDER BY

Khi chúng ta sử dụng câu lệnh SQL GROUP BY với mệnh đề ORDER BY, các giá trị được sắp xếp theo thứ tự tăng dần hoặc giảm dần.

Ví dụ:

Viết truy vấn để lấy số lượng nhân viên ở mỗi thành phố, được sắp xếp theo thứ tự giảm dần.

SELECT COUNT(EmpID), City
FROM Employees
GROUP BY City
ORDER BY COUNT(EmpID) DESC;

Đầu ra:

Bảng sẽ có dữ liệu sau:

Đếm (EmpID) Thành phố

2

Delhi

2

Mumbai

1

Pune

Sử dụng SQL GROUP BY với mệnh đề HAVING

Câu lệnh SQL GROUP BY được sử dụng với mệnh đề ‘HAVING’ để đề cập đến các điều kiện về nhóm. Ngoài ra, vì chúng tôi không thể sử dụng các hàm tổng hợp với mệnh đề WHERE, chúng tôi phải sử dụng mệnh đề 'HAVING' để sử dụng các hàm tổng hợp với GROUP BY.

Ví dụ:

Viết truy vấn để lấy số lượng nhân viên ở mỗi thành phố, có mức lương> 15000

SELECT COUNT(EmpID), City
FROM Employees
GROUP BY City
HAVING SALARY > 15000;

Đầu ra:

Vì tất cả đều là bản ghi trong bảng Nhân viên có mức lương> 15000, chúng ta sẽ thấy bảng sau là đầu ra:

Đếm (EmpID) Thành phố

2

Delhi

2

Mumbai

1

Pune

Sử dụng GROUP BY với JOINS

JOINS là các câu lệnh SQL được sử dụng để kết hợp các hàng từ hai hoặc nhiều bảng, dựa trên một cột có liên quan giữa các bảng đó. Chúng ta có thể sử dụng câu lệnh SQL GROUP BY để nhóm tập kết quả dựa trên một cột / các cột. Hãy xem xét các bảng dưới đây để thực thi các câu lệnh JOIN với mệnh đề GROUP BY trong SQL.

Bảng Dự án:

ProjectID EmpID ClientID Ngày dự án
2345 1 4 26-01-2019
9876 2 5 28-02-2019
3456 3 6 12-03-2019

Bảng Khách hàng:

ClientID ClientName

4

Sanjana

5

Rohan

6

Arun

Ví dụ

Viết truy vấn để liệt kê số lượng dự án được yêu cầu bởi mỗi khách hàng:

SELECT Clients.ClientName, COUNT(Projects.ProjectID) AS RequestedProjects FROM Projects
LEFT JOIN Clients ON Projects.ProjectID = Clients.ProjectID
GROUP BY ClientName;

Đầu ra:

Bảng sẽ có dữ liệu sau:

ClientName Dự án được Yêu cầu

Arun

1

Rohan

1

Sanjana

1

Với điều đó, chúng ta sẽ kết thúc bài viết NHÓM NHÓM CỦA SQL. Kiểm tra cái này Đào tạo chứng chỉ MySQL DBA của Edureka, một công ty học tập trực tuyến đáng tin cậy với mạng lưới o f hơn 250.000 người học hài lòng trên toàn cầu. Khóa học này đào tạo bạn về các khái niệm cốt lõi cũng như các công cụ và kỹ thuật nâng cao để quản lý dữ liệu và quản trị Cơ sở dữ liệu MySQL. Nó bao gồm việc học thực hành về các khái niệm như MySQL Workbench, MySQL Server, Data Modeling, MySQL Connector, Database Design, MySQL Command line, MySQL Functions, v.v. Kết thúc khóa đào tạo, bạn sẽ có thể tạo và quản trị Cơ sở dữ liệu MySQL của riêng mình và quản lý dữ liệu.

Bạn có câu hỏi cho chúng tôi? Vui lòng đề cập đến nó trong phần nhận xét của bài viết “SQL GROUP BY” này và chúng tôi sẽ liên hệ lại với bạn sớm nhất có thể.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách sửa các lỗi WordPress điển hình

  2. Tiền tố sp_ có còn là không?

  3. Phù hợp cung với thách thức nhu cầu

  4. Cắt mỡ trong nhật ký giao dịch

  5. ZDLRA - RECID cao không hợp lệ RMAN-20035