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

Filtered HTML

  • Các địa chỉ web và email sẽ tự động được chuyển sang dạng liên kết.
  • Các thẻ HTML được chấp nhận: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Tự động ngắt dòng và đoạn văn.

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.

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

 
Chạy Drupal 7 trên HipHop Virtual Machine tuyệt vời

Chạy Drupal 7 trên HipHop Virtual Machine tuyệt vời

Official HHVM packages are only distributed for Ubuntu and Debian, but thankfully some enterprising people have packaged them up for CentOS

Dell, Lenovo, Samsung sẽ sản xuất thiết bị chạy Windows RT

Dell, Lenovo, Samsung sẽ sản xuất thiết bị chạy Windows RT

Trong thời gian chờ đợi ngày ra mắt chính thức hệ điều hành mới, Microsoft đã công bố những bên hợp tác sản xuất máy tính bảng nền tảng ARM chạy Windows RT.

Microsoft ngưng hỗ trợ Office for Mac 2008 sau khoảng 5 năm 3 tháng  ra mắt

Microsoft ngưng hỗ trợ Office for Mac 2008 sau khoảng 5 năm 3 tháng ra mắt

Theo trang hỗ trợ vòng đời sản phẩm của Microsoft, tất cả các phiên bản của bộ phần mềm năm 2008 sẽ ngưng hỗ trợ vào tuần tới. Như vậy, Office trên Mac 2008 ra mắt vào ngày 15/1/2008, tức là sau khoảng 5 năm 3 tháng sẽ bị ngưng hỗ trợ cập nhật.

Công ty diệt chuột T&C

 

Diet con trung