01/10/2018, 17:22

TOP n [PERCENT] trích ra n dòng dữ liệu trong tổng số dòng dữ liệu

Giả sử tổng số dòng dữ liệu trong bảng dữ liệu Products của cơ sở dữ liệu Northwind là 77 dòng. Thay vì lấy hết 77 dòng dữ liệu trong bảng Products thì chúng ta chỉ muốn trích lấy 5 dòng, hoặc 10% trong 77 dòng đó mà thôi. SQL hỗ trợ từ khóa TOP n [PERCENT] để chúng ta trích lấy số dòng dữ liệu một ...

Giả sử tổng số dòng dữ liệu trong bảng dữ liệu Products của cơ sở dữ liệu Northwind là 77 dòng. Thay vì lấy hết 77 dòng dữ liệu trong bảng Products thì chúng ta chỉ muốn trích lấy 5 dòng, hoặc 10% trong 77 dòng đó mà thôi. SQL hỗ trợ từ khóa TOP n [PERCENT] để chúng ta trích lấy số dòng dữ liệu một cách dễ dàng. Thông thường chúng ta kết hợp SELECT với TOP n để được kết quả mong muốn.

Cú pháp:

TOP n [PERCENT]

Số dòng dữ liệu trả về tùy theo cách truyền của chúng ta, ví dụ

  • Top 5: thì sẽ trã về 5 dòng dữ liệu đầu tiên
  • Top 10 PERCENT: thì sẽ trả về 10% số dòng dữ liệu trên tổng tất cả các dòng dữ liệu

Ví dụ minh họa

Ví dụ 1:

Use Northwind

Select TOP 5 ProductID, ProductName from Products

Giải thích: câu truy vấn trả về 5 dòng dữ liệu đầu tiên của bảng Products

17 Alice Mutton
3 Aniseed Syrup
40 Boston Crab Meat
60 Camembert Pierrot
18 Carnarvon Tigers

Ví dụ 2:

USE Northwind
SELECT TOP 10 PERCENT ProductID, ProductName FROM Products
17 Alice Mutton
3 Aniseed Syrup
40 Boston Crab Meat
60 Camembert Pierrot
18 Carnarvon Tigers
1 Chai
2 Chang
39 Chartreuse verte

Giải thích: câu truy vấn sẽ trả về 10% của 77 dòng dữ liệu là 8 dòng (vì 77×100/ 10 ~ 8)

Ghi chú: bạn có thể kết hợp TOP n với các từ khóa sắp xếp tăng, giảm như là ASC, DESC để lấy các giá trị nhỏ nhất hoặc lớn nhất

Chúc các bạn thành công! :razz:


0