Câu hỏi

21/06/2013 13:53
Thống kê nhóm tuổi bằng Access?
Xin hỏi trong Access làm sao để thống kê số người theo các độ tuổi khác nhau dựa vào năm sinh có sẵn. Ví dụ: số người trên 70 tuổi, từ 61 đến 70, từ 51 đến 60, từ 31 đến 50, dưới 30, v.v...
ncnncn
21/06/2013 13:53
Danh sách câu trả lời (1)

Giả sử table chứa dữ liệu cần thống kê có tên tbDanhSach gồm các field HoTen, NamSinh. Bạn có thể thiết kế query theo 2 bước như sau:
Bước 1: Tạo query tên qryNhomTuoi truy vấn dữ liệu từ table tbDanhSach:
SELECT HoTen, NamSinh, IIf(Year(Date())-[NamSinh]>70, "Tren 70", IIf(Year(Date())-[NamSinh]>60, "Tu 61 den 70", IIf(Year(Date())-[NamSinh]>50, "Tu 51 den 60", IIf(Year(Date())-[NamSinh]>30, "Tu 31 den 50", "Duoi 30")))) AS Nhom FROM tbDanhSach;
Bạn lưu ý: cột Nhom được tạo từ một biểu thức có giá trị tính từ hàm IIf lồng nhau 4 cấp. Số cấp lồng nhau tùy thuộc số lượng nhóm tuổi cần thống kê. Lệnh SELECT trên có thể bị sai nếu bạn gõ không đúng và đầy đủ các dấu ngoặc đơn. Kết quả truy vấn tương tự như hình 1.
Bước 2: Tạo query tên qryThongKe truy vấn dữ liệu từ query
tên qryNhomTuoi:
SELECT Nhom, Count(Nhom) AS [So Nguoi] FROM qryNhomTuoi GROUP BY Nhom;
Kết quả truy vấn tương tự như hình 2.

Bước 1: Tạo query tên qryNhomTuoi truy vấn dữ liệu từ table tbDanhSach:
SELECT HoTen, NamSinh, IIf(Year(Date())-[NamSinh]>70, "Tren 70", IIf(Year(Date())-[NamSinh]>60, "Tu 61 den 70", IIf(Year(Date())-[NamSinh]>50, "Tu 51 den 60", IIf(Year(Date())-[NamSinh]>30, "Tu 31 den 50", "Duoi 30")))) AS Nhom FROM tbDanhSach;
Bạn lưu ý: cột Nhom được tạo từ một biểu thức có giá trị tính từ hàm IIf lồng nhau 4 cấp. Số cấp lồng nhau tùy thuộc số lượng nhóm tuổi cần thống kê. Lệnh SELECT trên có thể bị sai nếu bạn gõ không đúng và đầy đủ các dấu ngoặc đơn. Kết quả truy vấn tương tự như hình 1.
Bước 2: Tạo query tên qryThongKe truy vấn dữ liệu từ query
tên qryNhomTuoi:
SELECT Nhom, Count(Nhom) AS [So Nguoi] FROM qryNhomTuoi GROUP BY Nhom;
Kết quả truy vấn tương tự như hình 2.


Trả lời câu hỏi
Câu hỏi lĩnh vực Máy vi tính
Rao vặt Siêu Vip