Tải bản đầy đủ (.pdf) (3 trang)

Tài liệu SQL Advanced part 4 pdf

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (117 KB, 3 trang )

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 .

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ả :



Như 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)


×