Tìm các bản ghi có nhiều nhất hoặc ít nhất là ngày gần đây

Bài viết này giải thích cách sử dụng các truy vấn giá trị hàng đầu và tổng các truy vấn để tìm những ngày gần đây nhất hoặc sớm nhất trong một tập hợp các bản ghi. Điều này có thể giúp bạn trả lời một loạt các câu hỏi kinh doanh, chẳng hạn như khi khách hàng cuối cùng được đặt đơn hàng hoặc năm quý đã được thành phố tốt nhất của bạn.

Trong bài viết này

Tổng quan

Bạn có thể xếp hạng dữ liệu và xem lại các mục được xếp hạng cao nhất bằng cách sử dụng truy vấn giá trị hàng đầu. Truy vấn giá trị hàng đầu là một truy vấn chọn trả về một số hoặc phần trăm giá trị đã xác định từ đầu kết quả, ví dụ như năm trang phổ biến nhất trên một trang web. Bạn có thể sử dụng truy vấn giá trị trên cùng với bất kỳ loại giá trị nào-họ không phải là số.

Nếu bạn muốn nhóm hoặc tóm tắt dữ liệu của mình trước khi bạn xếp hạng, bạn không cần phải sử dụng truy vấn giá trị hàng đầu. Ví dụ, giả sử bạn cần tìm các số bán hàng cho một ngày đã cho cho mỗi thành phố mà công ty của bạn hoạt động. Trong trường hợp đó, các thành phố sẽ trở thành thể loại (bạn cần tìm kiếm dữ liệu cho mỗi thành phố), vì vậy bạn sử dụng truy vấn tổng.

Khi bạn sử dụng truy vấn giá trị hàng đầu để tìm các bản ghi chứa các ngày mới nhất hoặc sớm nhất trong một bảng hoặc nhóm bản ghi, bạn có thể trả lời nhiều câu hỏi về doanh nghiệp, chẳng hạn như sau:

  • Ai đã làm việc bán hàng gần đây nhất?

  • Khi nào khách hàng đặt một đơn hàng cuối cùng?

  • Khi nào là ba ngày sinh nhật tiếp theo trong nhóm?

Để thực hiện truy vấn giá trị hàng đầu, hãy bắt đầu bằng cách tạo một truy vấn chọn. Sau đó, sắp xếp dữ liệu theo câu hỏi của bạn-dù bạn đang tìm kiếm trên cùng hoặc dưới cùng. Nếu bạn cần nhóm hoặc tóm tắt dữ liệu, hãy bật truy vấn chọn vào truy vấn tổng. Sau đó, bạn có thể sử dụng hàm tổng hợp, chẳng hạn như tối đa hoặc phút để trả về giá trị cao nhất hoặc thấp nhất, hoặc đầu tiên hoặc cuối cùng để trả về ngày sớm nhất hoặc gần nhất.

Bài viết này giả định rằng các giá trị ngày mà bạn sử dụng có kiểu dữ liệu ngày/thời gian. Nếu giá trị ngày của bạn nằm trong trường văn bản.

Cân nhắc việc sử dụng bộ lọc thay vì truy vấn giá trị hàng đầu

Một bộ lọc thường tốt hơn nếu bạn có một ngày ghi nhớ cụ thể. Để xác định xem bạn có nên tạo truy vấn giá trị hàng đầu hay không, hãy cân nhắc những điều sau đây:

  • Nếu bạn muốn trả về tất cả các bản ghi có ngày kết quả phù hợp, trước đó hoặc muộn hơn một ngày cụ thể, hãy sử dụng bộ lọc. Ví dụ, để xem ngày cho doanh số bán hàng giữa tháng tư và tháng bảy, bạn áp dụng bộ lọc.

  • Nếu bạn muốn trả về một số lượng bản ghi đã xác định có các ngày gần đây nhất hoặc mới nhất trong một trường và bạn không biết giá trị ngày chính xác hoặc không quan trọng, bạn tạo truy vấn giá trị hàng đầu. Ví dụ, để xem năm doanh số bán hàng tốt nhất, hãy sử dụng truy vấn giá trị hàng đầu.

Để biết thêm thông tin về việc tạo và sử dụng bộ lọc, hãy xem bài viết áp dụng bộ lọc để xem các bản ghi chọn trong cơ sở dữ liệu Access.

Đầu Trang

Chuẩn bị dữ liệu mẫu để theo dõi cùng với các ví dụ

Các bước trong bài viết này sử dụng dữ liệu trong các bảng mẫu sau đây.

Bảng nhân viên   

Họ

Tên

Địa chỉ

Thành phố

Countryorr egion

Ngày sinh

Thuê ngày

Barnhill

Josh

1 Main St.

New York

Hoa Kỳ

Ngày 05 tháng 2-1968

Ngày 10 tháng 6-1994

Heloo

Waleed

52 1st St.

Boston

Hoa Kỳ

Ngày 22 tháng 5-1957

Ngày 22 tháng 11, 1996

Pica

36

3122 75th Ave. S.W.

Seattle

Hoa Kỳ

Ngày 11 tháng 11-1960

Ngày 11 tháng 3, 2000

Bagel

Jean Philippe

1 Contoso Blvd.

London

Vương quốc Anh

Ngày 22 tháng 3-1964

Ngày 22 tháng 6-1998

Giá

Julius

Calle Smith 2

Thành phố Mê-xi-cô

Mexico

Ngày 05 tháng 6-1972

Ngày 05 tháng 1-2002

Hughes

Stine

3122 75TH St. S.

Seattle

Hoa Kỳ

Ngày 23 tháng 1, 1970

Ngày 23 tháng 4-1999

Riley

Ste

67 Big St.

Tampa

Hoa Kỳ

Ngày 14 tháng 4-1964

Ngày 14 tháng 10-2004

Birkby

Dana

2 nosey Pkwy

Portland

Hoa Kỳ

Ngày 29 tháng 10-1959

Ngày 29 tháng 3-1997

Bảng EventType    

Mã chữ

Kiểu sự kiện

1

Khởi động sản phẩm

2

Hàm Corporate

3

Hàm riêng tư

4

Quỹ raiser

5

Triển lãm thương mại

6

Buổi

7

Hát

8

Trưng

9

Hội chợ đường phố

Bảng Customers    

CustomerID

Công ty

Liên hệ

1

Contoso, Ltd. Dạng

Jonathan Haas

2

Tailspin Toys

Ellen Adams

3

Fabrikam

Carol Philips

4

Đồ chơi ở chót

Lucio Iallo

5

A. Mốc

Mandar Samant

6

Các hoạt động phiêu lưu

Brian Burke

7

Viện thiết kế

Jaka Stele

8

Trường học Mỹ thuật

Hàm Milena Duomanova

Bảng sự kiện    

ID_sự_kiện

Kiểu sự kiện

Khách hàng

Ngày sự kiện

Giá

1

Khởi động sản phẩm

Contoso, Ltd.

4/14/2011

$10,000

2

Hàm Corporate

Tailspin Toys

4/21/2011

$8.000

3

Triển lãm thương mại

Tailspin Toys

01/05/11

$25.000

4

Trưng

Viện Thiết kế Đồ họa

5/13/2011

$4.500

5

Triển lãm thương mại

Contoso, Ltd.

5/14/2011

$55.000

6

Hát

Trường học Mỹ thuật

5/23/2011

$12,000

7

Khởi động sản phẩm

A. Mốc

6/1/2011

$15.000

8

Khởi động sản phẩm

Đồ chơi ở chót

6/18/2011

$21,000

9

Quỹ raiser

Các hoạt động phiêu lưu

6/22/2011

$1.300

10

Buổi

Viện Thiết kế Đồ họa

6/25/2011

$2.450

11

Buổi

Contoso, Ltd.

04/07/2011

$3.800

12

Hội chợ đường phố

Viện Thiết kế Đồ họa

04/07/2011

$5,500

Lưu ý: Các bước trong phần này giả định rằng các bảng của khách hàng và loại sự kiện nằm ở bên "một" của mối quan hệ một-nhiều với bảng sự kiện. Trong trường hợp này, bảng các sự kiện chia sẻ các trường CustomerID và TypeID. Tổng các truy vấn được mô tả trong các phần tiếp theo sẽ không hoạt động mà không cần những mối quan hệ đó.

Dán dữ liệu mẫu vào các trang tính Excel

  1. Khởi động Excel. Một sổ làm việc trống sẽ mở ra.

  2. Nhấn SHIFT + F11 để chèn trang tính (bạn sẽ cần bốn).

  3. Sao chép dữ liệu từ bảng mẫu vào một trang tính trống. Đưa vào đầu đề cột (hàng đầu tiên).

Tạo bảng cơ sở dữ liệu từ trang tính

  1. Chọn dữ liệu từ trang tính đầu tiên, bao gồm các đầu đề cột.

  2. Bấm chuột phải vào ngăn dẫn hướng, rồi bấm dán.

  3. Bấm vào để xác nhận rằng hàng đầu tiên chứa đầu đề cột.

  4. Lặp lại các bước 1-3 cho từng trang tính còn lại.

Tìm ngày gần đây nhất hoặc ít nhất

Các bước trong phần này sử dụng dữ liệu mẫu để minh họa quy trình tạo truy vấn giá trị cao nhất.

Tạo truy vấn các giá trị trên cùng cơ bản

  1. Trên tab Tạo, trong nhóm Truy vấn, bấm Thiết kế Truy vấn.

  2. Bấm đúp vào bảng nhân viên, rồi bấm đóng.

    Nếu bạn sử dụng dữ liệu mẫu, hãy thêm bảng nhân viên vào truy vấn.

  3. Thêm các trường bạn muốn sử dụng trong truy vấn của mình vào lưới thiết kế. Bạn có thể bấm đúp vào từng trường hoặc kéo và thả từng trường trên một ô trống trong hàng trường .

    Nếu bạn sử dụng bảng mẫu, hãy thêm tên, họ và ngày sinh mới.

  4. Trong trường có chứa các giá trị trên cùng hoặc dưới cùng của bạn (trường ngày sinh, nếu bạn dùng bảng mẫu), hãy bấm vào hàng sắp xếp và chọn tăng dần hoặc giảm dần.

    Thứ tự sắp xếp giảm dần trả về ngày gần đây nhất và thứ tự sắp xếp tăng dần trả về ngày sớm nhất.

    Quan trọng: Bạn phải đặt một giá trị trong hàng sắp xếp chỉ dành cho các trường chứa ngày của bạn. Nếu bạn chỉ định thứ tự sắp xếp cho trường khác, truy vấn sẽ không trả về kết quả mà bạn muốn.

  5. Trên tab thiết kế , trong nhóm công cụ , hãy bấm vào mũi tên xuống bên cạnh tất cả (danh sách giá trị hàng đầu ), rồi nhập số bản ghi mà bạn muốn xem hoặc chọn một tùy chọn từ danh sách.

  6. Bấm chạy Ảnh nút để chạy truy vấn và hiển thị kết quả trong dạng xem biểu dữ liệu.

  7. Lưu truy vấn thành Nextsinh Nhật.

Bạn có thể thấy rằng loại truy vấn giá trị trên cùng có thể trả lời các câu hỏi cơ bản, chẳng hạn như người là người cũ nhất hoặc trẻ nhất trong công ty. Các bước tiếp theo sẽ giải thích cách sử dụng biểu thức và các tiêu chí khác để thêm sức mạnh và tính linh hoạt cho truy vấn. Tiêu chí được hiển thị trong bước tiếp theo đã trả về ba ngày sinh của nhân viên tiếp theo.

Thêm tiêu chí vào truy vấn

Các bước này sử dụng truy vấn được tạo trong quy trình trước đó. Bạn có thể làm theo cùng với truy vấn giá trị hàng đầu khác miễn là nó chứa dữ liệu ngày/giờ thực tế, không phải giá trị văn bản.

Mẹo:  Nếu bạn muốn hiểu rõ hơn về cách truy vấn này hoạt động, hãy chuyển đổi giữa dạng xem thiết kế và dạng xem biểu dữ liệu tại mỗi bước. Nếu bạn muốn xem mã truy vấn thực tế, hãy chuyển sang dạng xem SQL. Để chuyển qua lại giữa các dạng xem, hãy bấm chuột phải vào tab ở phía trên cùng của truy vấn, rồi bấm vào dạng xem bạn muốn.

  1. Trong ngăn dẫn hướng, bấm chuột phải vào truy vấn Nextsinh Nhật, rồi bấm dạng xem thiết kế.

  2. Trong lưới thiết kế truy vấn, trong cột ở bên phải ngày sinh, hãy nhập các bước sau:
    Monthborn: datePart ("m", [birthdate]).
    Biểu thức này trích từ tháng từ ngày sinh bằng cách sử dụng hàm datePart .

  3. Trong cột tiếp theo của lưới thiết kế truy vấn, hãy nhập như sau:
    dayofmonthborn: datePart ("d", [birthdate])
    biểu thức này trích xuất ngày của tháng từ ngày sinh từ ngày sinh bằng cách sử dụng hàm datePart .

  4. Xóa các hộp kiểm trong hàng Hiển thị cho từng biểu thức mà bạn vừa nhập vào.

  5. Bấm vào hàng sắp xếp cho từng biểu thức, rồi chọn tăng dần.

  6. Trong hàng tiêu chí của cột ngày sinh , nhập biểu thức sau: tháng ([ngày sinh]) > month (Date ()) hoặc month ([ngày sinh]) = month (Date ())
    và Day ([ngày sinh]) >Day (Date ())
    biểu thức này thực hiện các thao tác sau:

    • Month ( [ngày sinh]) > month (Date ()) xác định rằng ngày sinh của mỗi nhân viên rơi vào một tháng trong tương lai.

    • Tháng ( [ngày sinh]) = month (Date ()) và Day ([ngày sinh]) >Day (Date ()) xác định rằng nếu ngày sinh xảy ra trong tháng hiện tại, sinh nhật sẽ rơi vào hoặc sau ngày hiện tại.

      Trong ngắn hạn, biểu thức này không bao gồm bất kỳ bản ghi nào mà sinh nhật xảy ra giữa ngày 1 tháng 1 và ngày hiện tại.

      Mẹo:  Để biết thêm ví dụ về biểu thức tiêu chí truy vấn, hãy xem bài viết ví dụ về tiêu chí truy vấn.

  7. Trên tab thiết kế , trong nhóm thiết lập truy vấn , hãy nhập 3 vào hộp trả về .

  8. Trên tab Thiết kế, trong nhóm Kết quả, bấm vào Chạy Ảnh nút .

Lưu ý:  Trong truy vấn của riêng bạn bằng dữ liệu của riêng bạn, đôi khi bạn có thể thấy nhiều bản ghi hơn bạn đã chỉ định. Nếu dữ liệu của bạn chứa nhiều bản ghi chia sẻ một giá trị nằm trong số các giá trị hàng đầu, truy vấn của bạn sẽ trả về tất cả các bản ghi đó, ngay cả khi nó có nghĩa là trả về nhiều bản ghi hơn mong muốn.

Đầu Trang

Tìm những ngày gần đây nhất hoặc ít nhất đối với nhóm các bản ghi

Bạn sử dụng truy vấn tổng để tìm ngày sớm nhất hoặc mới nhất cho các bản ghi rơi vào các nhóm, chẳng hạn như các sự kiện được nhóm thành phố. Truy vấn tổng cộng là một truy vấn chọn sử dụng hàm tổng hợp (chẳng hạn như nhóm theo, Mtrong, tối đa, đếm, đầu tiêncuối cùng) để tính toán giá trị cho từng trường đầu ra.

Đưa trường mà bạn muốn sử dụng cho các thể loại – nhóm theo – và trường có giá trị mà bạn muốn tóm tắt. Nếu bạn đưa vào các trường đầu ra khác – nói, tên của khách hàng khi bạn được nhóm theo kiểu sự kiện – truy vấn cũng sẽ sử dụng các trường này để tạo nhóm, thay đổi kết quả để họ không trả lời câu hỏi ban đầu của bạn. Để gắn nhãn các hàng bằng cách sử dụng các trường khác, bạn tạo một truy vấn bổ sung sử dụng truy vấn tổng cộng làm nguồn và thêm các trường bổ sung vào truy vấn đó.

Mẹo:  Các truy vấn xây dựng trong các bước là chiến lược rất hiệu quả để trả lời các câu hỏi nâng cao hơn. Nếu bạn đang gặp sự cố về một truy vấn phức tạp để làm việc, hãy cân nhắc xem bạn có thể chia nó thành một chuỗi truy vấn đơn giản hơn hay không.

Tạo truy vấn tổng

Quy trình này sử dụng bảng mẫu sự kiệnbảng mẫu eventtype để trả lời câu hỏi này:

Khi là sự kiện gần đây nhất của mỗi loại sự kiện, không bao gồm các buổi hòa nhạc?

  1. Trên tab Tạo, trong nhóm Truy vấn, bấm Thiết kế Truy vấn.

  2. Bấm đúp vào các sự kiện và bảng EventType.
    Mỗi bảng xuất hiện ở phần trên cùng của trình thiết kế truy vấn.

  3. Bấm đúp vào trường EventType của bảng EventType và trường EventDate từ bảng sự kiện để thêm các trường vào lưới thiết kế truy vấn.

  4. Trong lưới thiết kế truy vấn, trong hàng tiêu chí của trường eventtype , hãy nhập <>Concert.

    Mẹo:  Để biết thêm ví dụ về biểu thức tiêu chí, hãy xem bài viết ví dụ về tiêu chí truy vấn.

  5. Trên tab Thiết kế, trong nhóm Hiển thị/Ẩn, bấm Tổng.

  6. Trong lưới thiết kế truy vấn, bấm vào hàng tổng của trường EventDate, rồi bấm vào Max.

  7. Trên tab Thiết kế, trong nhóm Kết quả, bấm Dạng xem và sau đó bấm Dạng xem SQL.

  8. Trong cửa sổ SQL, ở cuối mệnh đề SELECT, ngay sau khi từ khóa dưới dạng, thay thế trong Maxofeventdate với mostrecent.

  9. Lưu truy vấn dưới dạng MostRecentEventByType.

Tạo truy vấn thứ hai để thêm dữ liệu

Quy trình này sử dụng truy vấn MostRecentEventByType từ thủ tục trước đó để trả lời câu hỏi này:

Khách hàng tại sự kiện gần đây nhất của mỗi loại sự kiện là ai?

  1. Trên tab Tạo, trong nhóm Truy vấn, bấm Thiết kế Truy vấn.

  2. Trên tab truy vấn , bấm đúp vào truy vấn MostRecentEventByType.

  3. Trên tab bảng , bấm đúp vào bảng sự kiện và bảng khách hàng.

  4. Trong trình thiết kế truy vấn, hãy bấm đúp vào các trường sau đây:

    1. Trên bảng sự kiện, bấm đúp vào EventType.

    2. Trên truy vấn MostRecentEventByType, bấm đúp vào MostRecent.

    3. Trên bảng khách hàng, bấm đúp vào công ty.

  5. Trong lưới thiết kế truy vấn, trong hàng sắp xếp của cột eventtype , chọn tăng dần.

  6. Trên tab Thiết kế, trong nhóm Kết quả, bấm Chạy.

Đầu Trang

Bạn cần thêm trợ giúp?

Phát triển kỹ năng Office của bạn
Khám phá nội dung đào tạo
Sở hữu tính năng mới đầu tiên
Tham gia Người dùng nội bộ Office

Thông tin này có hữu ích không?

×