SQL Server: TOP với PERCENT
Mệnh đề TOP với PERCENT dùng để lấy số lượng % bản ghi đầu tiên của tập kết quả từ câu lệnh SELECT.
Cú pháp:
SELECT TOP(n) PERCENT Các_cột FROM Các_bảng_liên_kết [WHERE Điều_kiện] ...;
Cú pháp trên sẽ lấy n% số bản ghi đầu tiên trong tập kết quả, trong đó n là một số thực nằm trong đoạn [0,100].
Mỗi bản ghi chiếm một tỷ lệ % trong tập kết quả là 100/Tập_kết_quả.
Ví dụ, nếu Tập_kết_quả là 10 bản ghi thì mỗi bản ghi chiếm tỷ lệ 100/10 = 10%. Như vậy, bản ghi đầu tiên sẽ nằm trong dải tỷ lệ là >0% đến 10%, bản ghi thứ hai có dải tỷ lệ là >10% đến 20%, ...
Ví dụ áp dụng:
Giả sử bảng Student có 10 bản ghi, ta có một số câu lệnh sau đây:
Lấy 15% số Sinh viên đầu tiên của tập kết quả:
SELECT TOP(15) PERCENT * FROM Student; -- 15% nằm trong dải tỷ lệ của bản ghi thứ 2, tức là câu lệnh này sẽ lấy được 2 bản ghi
Lấy 51.5% số Sinh viên đầu tiên của tập kết quả:
SELECT TOP(51.5) PERCENT * FROM Student; -- 51.5% nằm trong dải tỷ lệ của bản ghi thứ 6, tức là câu lệnh này sẽ lấy được 6 bản ghi