8/10/14

Cú pháp hàm DENSE_RANK trong SQL

Ở các bài học lập trình trước, chúng ta đã tìm hiểu về định nghĩa của hàm ranking. Bài học hôm nay, chúng ta sẽ học cú pháp hàm DENSE_RANK.


Hàm DENSE_RANK cũng giống như hàm RANK, tuy vậy, hàm này không cung cấp khoảng cách giữa các số xếp loại. Thay vào đó, hàm này sẽ xếp loại liên tục cho từng giá trị ORDER BY cụ thể. Với hàm DENSE_RANK, kể cả khi có hai dòng có cùng giá trị xếp loại thì dòng tiếp theo vẫn chỉ tăng thêm một giá trị so với dòng trên. Hàm DENSE_RANK có cú pháp như hàm RANK.

Đây là hàm DENSE_RANK được tôi sử dụng để xếp loại cho toàn bộ các bản ghi trong bảng Person theo trường Age

SELECT DENSE_RANK() OVER (ORDER BY Age) AS [Dense Rank by Age],        FirstName,        Age  FROM Person 
Đoạn mã học lập trình trên sẽ xuất ra như sau:
Dense Rank by Age    FirstName  Age-------------------- ---------- -----------1                    Larry      52                    Doris      62                    George     63                    Mary       113                    Sherry     114                    Sam        175                    Ted        235                    Marty      236                    Sue        297                    Frank      388                    John       40

Như bạn thấy các số trong cột “Dense Rank By Age” vẫn đảm bảo tính liên tục, không hề bị ngắt quãng kể cả khi có hai dòng cùng giá trị ORDER BY và giá trị xếp loại như Ted và Marty.

Như vậy, với bài học lập trình này, các bạn đã biết cú pháp hàm DENSE_RANK rồi. Chúc các bạn thành công.

Bạn đã biết các chương trình học lập trình tại Aptech chưa? Đăng ký thông tin tại http://www.cncaptech.edu.vn/