1. Trang chủ
  2. » Công Nghệ Thông Tin

gom nhóm dữ liệu

21 316 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

11 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Gom nhóm dữ liệu 22 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Các hàm nhóm dữ liệu (group functions) ? Các hàm nhóm dữ liệu là phép toán trên một tập các dòng để trả về một kết quả tương ứng mỗi nhóm NHANVIEN Tổng lương các nhân viên trong bảng NHANVIEN . … 33 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Các hàm nhóm dữ liệu • AVG ([DISTINCT|ALL] bieu_thuc) • COUNT ({*|[DISTINCT|ALL] bieu_thuc}) • MAX ([DISTINCT|ALL] bieu_thuc) • MIN ([DISTINCT|ALL] bieu_thuc) • SUM ([DISTINCT|ALL] bieu_thuc) 44 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC SELECT [cot,] ham_nhom_du_lieu(cot), FROM bang [WHERE dieu_kien] [GROUP BY cot] [ORDER BY cot] Cú pháp các hàm nhóm dữ liệu 55 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC SELECT AVG(mucluong) as AVG_LLuong, MAX(mucluong) as MAX_Luong, MIN(mucluong) as MIN_Luong, SUM(mucluong) as SUM_Luong FROM qlns.nhanvien WHERE macongviec LIKE ‘%TT%' Sử dụng các hàm AVG,SUM & MAX,MIN AVG và SUM : dùng cho dữ liệu kiểu số. MIN and MAX : Có thể dùng cho phần lớn các kiểu dữ liệu SELECT MIN(ngayvaolam), MAX(ngayvaolam) FROM qlns.nhanvien 66 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC SELECT COUNT(*) FROM qlns.nhanvien WHERE maphong = 50 Sử dụng hàm COUNT COUNT(*) Trả về số dòng có trong bảng. COUNT(bieu_thuc) trả về số dòng khác null của bieu_thuc. SELECT COUNT(phucap) FROM qlns.nhanvien WHERE maphong = 50 77 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC SELECT COUNT(DISTINCT maphong) FROM qlns.nhanvien; Sử dụng từ khóa DISTINCT • COUNT(DISTINCT bieu_thuc) Trả về số dòng khác nhau và khác NULL của bieu_thuc. • Ví dụ : Cho biết có bao nhiêu phòng ban khác nhau trong bảng NHANVIEN . 88 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC SELECT AVG(phucap) FROM qlns.nhanvien Giá trị NULL và trong các hàm nhóm dữ liệu Các hàm nhóm dữ liệu sẽ tự động bỏ qua các giá trị NULL trong cột khi thực hiện tính toán. 99 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Tạo các phân nhóm dữ liệu NHANVIEN Tổng lương trong bảng NHANVIEN của mỗi phòng 15.000.000 … 16.500.000 13.000.000 5.200.000 10.500.000 8.500.000 4.000.000 1010 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC SELECT cot, ham_nhom_du_lieu(cot) FROM bang [WHERE dieu_kien] [GROUP BY bieu_thuc_phan_nhom] [ORDER BY cot] Tạo các phân nhóm dữ liệu : Mệnh đề GROUP BY [...]... dụng các hàm nhóm dữ liệu Bất kỳ một cột hay biểu thức trong danh sách của SELECT không phải là hàm nhóm dữ liệu thì phải có mệnh đề GROUP BY SELECT maphong, COUNT(tennv) FROM qlns.nhanvien Thiếu các cột trong mệnh đề GROUP BY 15 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Một số lưu ý khi sử dụng các hàm nhóm dữ liệu • Không thể sử dụng mệnh đề WHERE để giới hạn bớt các nhóm • • Sử dụng... bớt các nhóm • • Sử dụng mệnh đề HAVING để lọc bớt các nhóm Không được phép sử dụng các hàm nhóm dữ liệu trong mệnh đề WHERE SELECT FROM WHERE GROUP BY maphong, AVG(mucluong) qlns.nhanvien AVG(mucluong) > 8000000 maphong Không thể sử dụng WHERE để lọc bớt các nhóm 16 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Lọc bớt kết quả phân nhóm NHANVIEN Liệt kê những phòng ban có MAX lương lớn... NHANVIEN Liệt kê những phòng ban có MAX lương lớn hon 8.500.000 đ … 17 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Mệnh đề HAVING Để giới hạn bớt các nhóm trả về : 1 Các dòng đã được phân nhóm 2 Các hàm nhóm dữ liệu đã đưa vào 3 Chỉ những nhóm thỏa điều kiện HAVING mới nằm trong tập kết quả trả về SELECT FROM [WHERE [GROUP BY [HAVING [ORDER BY cotcolumn, ham_nho_du_lieu bang dieu_kien] bieu_thuc_nhom_du_lieu]...TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Sử dụng mệnh đề GROUP BY Tất cả các cột trong danh sách của SELECT nếu không phải là hàm nhóm dữ liệu thì phải tồn tại trong mệnh đề GROUP BY SELECT maphong, AVG(mucluong) FROM qlns.nhanvien GROUP BY maphong 11 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Sử dụng mệnh đề GROUP BY... NOT LIKE '%TTHI%' macongviec SUM(mucluong) >= 10.000.000 SUM(mucluong) 20 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Thực hành • • • Viết truy vấn sử dụng các hàm phân nhóm Phân nhóm các dòng kết hợp hàm phân nhóm Kết hợp mệnh đề HAVING, mệnh đề WHERE 21 ... buộc phải có trong danh sách của SELECT SELECT AVG(mucluong) FROM qlns.nhanvien GROUP BY maphong 12 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Tạo phân nhóm trên nhiều cột NHANVIEN “Tính tổng lương cho mỗi công việc và phân nhóm theo phòng ban … 13 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Sử dụng GROUP BY trên nhiều cột SELECT FROM GROUP BY ORDER BY maphong maph, macongviec, . NHIÊN TP.HCM TRUNG TÂM TIN HỌC Gom nhóm dữ liệu 22 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Các hàm nhóm dữ liệu (group functions) ? Các hàm nhóm dữ liệu là phép toán trên một tập. hàm nhóm dữ liệu Các hàm nhóm dữ liệu sẽ tự động bỏ qua các giá trị NULL trong cột khi thực hiện tính toán. 99 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Tạo các phân nhóm dữ liệu NHANVIEN Tổng. dụng các hàm nhóm dữ liệu • Không thể sử dụng mệnh đề WHERE để giới hạn bớt các nhóm. • Sử dụng mệnh đề HAVING để lọc bớt các nhóm. • Không được phép sử dụng các hàm nhóm dữ liệu trong mệnh

Ngày đăng: 23/05/2014, 18:24

TỪ KHÓA LIÊN QUAN