Nhóm Theo Một Yếu Tố Nào Đó Nhưng Có Điều Kiện


4 2 4 Truy vấn theo nhóm Có lúc ta chỉ muốn biết tổng số theo từng nhóm dữ 1

4.2.4 Truy vấn theo nhóm

Có lúc ta chỉ muốn biết tổng số theo từng nhóm dữ liệu. Ví dụ ta muốn biết trong ng ày 14/12/07 (bảng SoLuong) số lượng các mặt hàng bán ra là bao nhiêu? Hay s ố lượng ứng với mặt hàng M1 bán ra trong các ngà y là bao nhiêu? v.v.. Rõ ràng ta ph ải tính tổng theo nhóm. Để tính toán người ta thường dùng các hàm sau:

Sum: Tính tổng mỗi trường trong mỗi nhóm.

Avg: Tính tổng trung bình của trường trong mỗi nhóm.

Min: Tìm giá trị nhỏ nhất của trường trong mỗi nhóm

Max: Tìm giá trị lớn nhất của trường trong mỗi nhóm

Count: Cho biết số bản ghi của trường trong nhóm

Sau đây là ví dụ về truy vấn theo nhóm; Ta trở lại bảng SoLuong như sau:

1 Nhóm theo ngày tháng Câu hỏi Trong 3 ngày 14 15 16 tháng 12 năm 2007 s ố lượng bán 2

1. Nhóm theo ngày tháng

Câu hỏi: Trong 3 ngày 14, 15, 16 tháng 12 năm 2007 s ố lượng bán ra trong mỗi ngày là bao nhiêu (bằng mắt ta biết ngay 14/12/2007 l à 6 cái, 15/12/2007 là 2 cái và 16/12/2007 là 5 cái). Ta tạo truy vấn như sau:

Tạo truy vấn ứng với bảng SoLuong:


Kích vào nút

trên thanh công cụ hoặc chọn View/Totals, ta có hộp thoại sau:

Ta thấy xuất hiện thêm dòng Total, hãy đưa trường Ngay_Thang vào cột thứ nhất ở dòng Field Group By vào dòng Total. Hãy đưa So_Luong vào cột thứ hai ở dòng Field Sum vào dòng Total, như hình sau:


Chọn Query Run hoặc kích vào nút trên thanh công cụ kết quả như sau 2 Nhóm theo 3


Chọn Query/Run hoặc kích vào nút trên thanh công cụ, kết quả như sau:


2. Nhóm theo mã hàng

Câu hỏi: ứng với mỗi mã mặt hàng (M1, M2, M3) thì số lượng là bao nhiêu?

Tạo truy vấn theo nhóm ứng với bảng SoLuong

Đưa vào tên trường Ma _Mat_Hang ở cột thứ nhất ứng với d òng Field

Đưa vào tên Group By ở cột thứ nhất ứng với d òng Total

Đưa vào tên trường So_Luong ở cột thứ hai ứng với d òng Field

Đưa vào tên Sum ở cột thứ hai ứng với d òng Total

Ta có hình như sau:


Chọn Query Run ta có kết quả 3 Nhóm theo một yếu tố nào đó nhưng có điều 4

Chọn Query/Run ta có kết quả:

3 Nhóm theo một yếu tố nào đó nhưng có điều kiện Câu hỏi Nhóm theo ngày 5

3. Nhóm theo một yếu tố nào đó nhưng có điều kiện

Câu hỏi: Nhóm theo ngày nhưng ch ỉ với mặt hàng M1 hoặc M2 Ta đưa vào truy vấn như sau:

Đưa vào tên trường Ngay_Thang ở cột thứ nhất ứng với dòng Field

Đưa vào thông số Group By ở cột thứ nhất ứng với d òng Total

Đưa vào tên trường So_Luong ở cột thứ hai ứng với d òng Field

Đưa vào tên Sum ở cột thứ hai ứng với d òng Total

Đưa vào tên trường Ma_Mat_Hang ở cột thứ 3 ứng với dòng Field

Đưa vào từ Where ở dòng Total ứng với cột Ma_Mat_Hang

Ứng với cột Ma_Mat_Hang ở dòng Criteria gõ =”M1”

Ứng với cột Ma_Mat_Hang ở dòng or gõ =”M2” Như hình sau:


Chọn Query Run ta có 4 Dùng hàm Count Câu hỏi ứng với mỗi ngày có bao nhiêu mặt 6

Chọn Query/Run ta có:

4 Dùng hàm Count Câu hỏi ứng với mỗi ngày có bao nhiêu mặt hàng Tạo truy vấn 7

4. Dùng hàm Count

Câu hỏi: ứng với mỗi ngày có bao nhiêu mặt hàng? Tạo truy vấn như hình sau:

Chọn Query Run ta có 5 Tạo truy vấn theo hỏi đáp Câu hỏi Số lượng bán ra trong 8

Chọn Query/Run ta có:


5 Tạo truy vấn theo hỏi đáp Câu hỏi Số lượng bán ra trong mỗi ngày ngày nào 9

5. Tạo truy vấn theo hỏi đáp

Câu hỏi: Số lượng bán ra trong mỗi ngày (ngày nào sẽ hỏi sau) là bao nhiêu?

Ta thao tác như sau:

Tạo truy vấn theo nhóm ứng với bang So_luong

Đưa vào tên trường Ngay_Thang ở cột thứ nhất ứng với d òng Field

Đưa vào tên Group By ở cột thứ nhất ứng với d òng Total

Đưa vào tên trường So_Luong ở cột thứ hai ứng với d òng Field

Đưa vào tên Sum ở cột thứ hai ứng với d òng Total

Đưa vào cột thứ nhất ở dòng Criteria tham số: [Bạn hỏi ngày nào?] Hãy xem hình sau:

Chọn Query Run ta có hộp thoại Hãy gõ vào ngày cần hỏi giả sử gõ vào 12 14 07 10

Chọn Query/Run ta có hộp thoại:

Hãy gõ vào ngày cần hỏi giả sử gõ vào 12 14 07 và chọn OK ta có 4 2 5 Truy vấn 11

Hãy gõ vào ngày cần hỏi, giả sử gõ vào 12/14/07 và chọn OK ta có:


4 2 5 Truy vấn Crosstab Access hỗ trợ một loại truy vấn theo nhóm đặc biệt gọi 12

4.2.5 Truy vấn Crosstab

Access hỗ trợ một loại truy vấn theo nhóm đặc biệt gọi l à Crosstab. Để hiểu loại truy vấn này chúng ta nên xuất phát từ bảng sau:

Giả sử ta có bảng với tên Mua_Hang như sau:

Ta muốn truy vấn thành dạng sau Ho Ten Nguoi Mua Bia Ruou Nuoc Ngot Hoang Thi Lan 500000 13

Ta muốn truy vấn thành dạng sau:

Ho_Ten_Nguoi_Mua

Bia

Ruou

Nuoc Ngot

Hoang Thi Lan

500000

600000

400000

Le Quynh Hoa

750000

300000

250000

Có thể bạn quan tâm!

Xem toàn bộ 145 trang tài liệu này.

Nghĩa là chuyển tên mặt hàng (Bia, Ruou, v.v..) thành c ột và tiền mỗi loại nước giải khát

thành hàng ứng với tên người mua và cột loại hàng tương ứng. Để làm được điều đó bạn hãy thao tác như sau:

Mở truy vấn với bảng Mua_Hang, sau đó vẫn chọn Design View OK

Chọn tiếp Query/Crosstab Query, ta có hộp thoại:

Hộp thoại truy vấn có th êm dòng Crosstab hãy đưa các thông số vào như sau 1 Ở 14

Hộp thoại truy vấn có th êm dòng Crosstab, hãy đưa các thông số vào như sau:

1. Ở cột thứ nhất:

ứng với dòng Field đưa vào tên trường: Ho_Ten_Nguoi_Mua.

ứng với dòng Total đưa vào thông số: Group By.

ứng với dòng Crosstab đưa vào thông số: Row Heading

2. Ở cột thứ hai:

ứng vớt dòng Field đưa vào tên trường: So_Tien

ứng với dòng Total đưa vào hàm: Sum

ứ ng với dòng Crostab đưa vào thông số: Value

3. ở cột thứ ba:

ứng với dòng Field đưa vào thông số Format([Loai_Hang])

ứng với dòng Total đưa vào thông số: Group By

ứng với dòng Crosstab đưa vào thông số: Colunmn Heading

Hãy xem hình ảnh đưa vào như sau:

Chạy truy vấn này chọn Query Run ta có kết quả Giải thích  Hàm Format Loai Hang 15

Chạy truy vấn này (chọn Query/Run) ta có kết quả:

Giải thích  Hàm Format Loai Hang sẽ tạo các tên cột ứng với loại hàng ở 16

Giải thích:

Hàm Format ([Loai_Hang]) sẽ tạo các tên cột ứng với loại hàng, ở trên tên ngầm định

của cột là Exprl: hoặc tự đặt trước khi gõ hàm Format()

Ở cột thứ nhất ta chọn Row Heading ứng với dòng Crosstab bởi vì ta định họ tên người

mua vẫn phân bố theo dòng.

Ở cột thứ hai ta chọn Sum ứng với Total (thực ra trong trường hợp này chưa phải tính tổng, vì có một giá trị) và Value ứng với dòng Crosstab bởi vì ta định biến giá trị (tiền) đó phân bố theo dòng.

Ở cột thứ ba chọn Column Heading ứng với dòng Crosstab bởi vì ta định biến tên mặt hàng đóng vai trò cột nhờ hàm Format([Loai_Hang]).

Một số ví dụ khác:

..... Xem trang tiếp theo?
⇦ Trang trước - Trang tiếp theo ⇨

Ngày đăng: 26/01/2024