GROUP BY và HAVING

GROUP BY và HAVING

Các hàm tập hợp (ví dụ như SUM) thông thường cần thêm chức năng của mệnh đề GROUP BY.

GROUP BY...

Mệnh đề GROUP BY...được thêm vào SQL bởi vì các hàm tập hợp (như SUM) trả về một tập hợp của các giá trị trong cột mỗi khi chúng được gọi, và nếu không có GROUP BY ta không thể nào tính được tổng của các giá trị theo từng nhóm riêng lẻ trong cột.

Cú pháp của GROUP BY như sau:

SELECT tên_cột, SUM(tên_cột) FROM tên_bảng GROUP BY tên_cột

Ví dụ sử dụng GROUP BY:

Giả sử ta có bảng Sales như sau:

Company Amount
W3Schools 5500
IBM 4500
W3Schools 7100

Câu lệnh SQL sau:

SELECT Company, SUM(Amount) FROM Sales

sẽ trả về kết quả:

Company SUM(Amount)
W3Schools 17100
IBM 17100
W3Schools 17100

Kết quả trả về ở trên đôi khi không phải là cái mà ta mong đợi. Ta thêm mệnh đề GROUP BY vào trong câu lệnh SQL:

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

và kết quả trả về lần này sẽ là:

Company SUM(Amount)
W3Schools 12600
IBM 4500

Kết quả này đúng là cái mà ta mong muốn.

HAVING...

Mệnh đề HAVING...được thêm vào SQL vì mệnh đề WHERE không áp dụng được đối với các hàm tập hợp (như SUM). Nếu không có HAVING, ta không thể nào kiểm tra được điều kiện với các hàm tập hợp.

Cú pháp của HAVING như sau:

SELECT tên_cột, SUM(tên_cột) FROM tên_bảng
GROUP BY tên_cột
HAVING SUM(tên_cột) điều_kiện giá_trị

Ta sử dụng lại bảng Sales ở trên. Câu lệnh SQL sau:

SELECT Company, SUM(Amount) FROM Sales
GROUP BY Company
HAVING SUM(Amount) > 10000

sẽ trả về kết quả:

Company SUM(Amount)
W3Schools 12600

 

Tags: 
Bạn thấy bài viết này như thế nào?: 
Average: 6.8 (12 votes)
Ảnh của Tommy Tran

Tommy owner Express Magazine

Drupal Developer having 9+ year experience, implementation and having strong knowledge of technical specifications, workflow development. Ability to perform effectively and efficiently in team and individually. Always enthusiastic and interseted to study new technologies

  • Skype ID: tthanhthuy

Bình luận (0)

 

Add Comment

Plain text

  • No HTML tags allowed.
  • Các địa chỉ web và email sẽ tự động được chuyển sang dạng liên kết.
  • Tự động ngắt dòng và đoạn văn.
CAPTCHA
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.
Image CAPTCHA
Enter the characters shown in the image.

Advertisement

 

jobsora

Dich vu khu trung tphcm

Dich vu diet chuot tphcm

Dich vu diet con trung

Quảng Cáo Bài Viết

 
EMC “đánh cược” bằng công nghệ “quay phim” dữ liệu

EMC “đánh cược” bằng công nghệ “quay phim” dữ liệu

Ông Ajit Nair – Giám đốc cao cấp bộ phận dịch vụ toàn cầu EMC Đông Nam Á – đã nhận mạnh về các giải pháp lưu trữ dữ liệu khổng lồ một cách tối ưu sẽ giúp doanh nghiệp tiết kiệm chi phí.

Cách làm việc như thế nào giữa Drupal 8 và Vue.js không cần jQuery

Cách làm việc như thế nào giữa Drupal 8 và Vue.js không cần jQuery

Starting with the 5th version, Drupal has jQuery out of the box. It was an awesome tool for developers. But nowadays we face completely different problems that this library can not solve.

Google: có 200 triệu thiết bị Android đang hoạt động trên toàn thế giới

Google: có 200 triệu thiết bị Android đang hoạt động trên toàn thế giới

Gã khổng lồ đã tự hào tuyên bố điều đó trong buổi ra mắt dịch vụ âm nhạc Google Music hôm 16/11 vừa qua.

Tomdesgin.vn

 

Drupal Services