Phần 2 SQL Advanced bài 12 SQL GROUP BY and HAVING Tập hợp functions giống như lệnh SUM thường cần thiết thêm vào hàm GROUP BY.. được xem thêm vào SQL bởi vì tập hợp các hàm trả về tập
Trang 1Phần 2 SQL Advanced (bài 12)
SQL GROUP BY and HAVING
Tập hợp functions (giống như lệnh SUM) thường cần thiết thêm vào hàm GROUP BY
GROUP BY được xem thêm vào SQL bởi vì tập hợp các hàm trả về tập hợp của tất cả giá trị của cột theo mọi thời điểm mà họ gọi ra , và ko dùng hàm GROUP BY thì xem như ko thể tìm được số tổng số của những giá trị nhóm cột riêng lẻ
Cú pháp :
Trích:
SELECT column,SUM(column) FROM table GROUP BY column
Ví dụ về GROUP BY :
Đây là table "Sales" :
Sử dụng câu lệnh SQL để xem những trường có trong table này :
Trích:
SELECT Company, SUM(Amount) FROM Sales
Kết quả :
Đoạn code trên sẽ ko có hiệu lực bởi vị cột SUM(Amount) sẽ trả về tổng của tất cả các giá trị trong đó nên hiển thị sai Mệnh đề GROUP BY sẽ giải quyết được vấn đề này : Trích:
SELECT Company,SUM(Amount) FROM Sales
GROUP BY Company
Kết quả :
Trang 2Như bạn thấy câu lệnh trên sẽ nhóm những giá trị theo cột Company như vậy các giá trị Amount sẽ phải hiển thị đúng theo sự sắp xếp bên đó Kết quả W3Schools có giá trị là
12600 vì có 2 trường cộng lại , IBM thì giữ nguyên đúng giá trị của nó
HAVING
Với câu lệnh này có lẽ bạn đã hiểu ý nghĩa của nó vì SQL rất gần với ngôn ngữ bình thường
Cú pháp :
Trích:
SELECT column,SUM(column) FROM table
GROUP BY column
HAVING SUM(column) condition value
Xem qua ví dụ sau đây bạn sẽ hiểu :
Vẫn table Sales :
Ta thực hiện lệnh như sau :
Trích:
SELECT Company,SUM(Amount) FROM Sales
GROUP BY Company
HAVING SUM(Amount)>10000
Kết quả :
Kết quả sẽ hiển thị ra số nào ứng với cột Company có số lượng >10000 (having), vậy chỉ
có W3Schools với tổng số là 12600
dondoc (vniss)