RANK so với DENSE_RANK: Sự khác biệt và so sánh

Ngôn ngữ truy vấn tiêu chuẩn giúp lập trình viên tạo chương trình theo nhu cầu và yêu cầu. Trong ngôn ngữ cụ thể này, RANK và DENSE_RANK là hai tính năng mà hầu hết mọi người có xu hướng sử dụng thay thế cho nhau, nhưng sự thật là hai tính năng này hoàn toàn khác nhau khi chúng ta nhìn sâu vào. 

Các nội dung chính

  1. Xếp hạng chỉ định một số duy nhất cho mỗi mục dựa trên thứ tự của nó, trong khi thứ hạng dày đặc chỉ định một số duy nhất cho từng mục dựa trên thứ tự của nó nhưng không để lại khoảng trống.
  2. Xếp hạng không bỏ qua bất kỳ số nào trong khi chỉ định thứ hạng, trong khi xếp hạng dày đặc có thể bỏ qua các số nếu có ràng buộc.
  3. Xếp hạng thường được sử dụng trong SQL tiêu chuẩn, trong khi xếp hạng dày đặc được sử dụng trong các chức năng phân tích.

RANK so với DENSE_RANK 

Hàm RANK chỉ định một thứ hạng duy nhất cho mỗi hàng trong tập hợp kết quả dựa trên một tiêu chí sắp xếp cụ thể. Nếu hai hoặc nhiều hàng có cùng giá trị cho tiêu chí sắp xếp, chúng sẽ được chỉ định cùng một thứ hạng và thứ hạng tiếp theo sẽ bị bỏ qua. Hàm DENSE_RANK chỉ định một thứ hạng duy nhất cho mỗi hàng trong tập hợp kết quả, ngay cả khi hai hoặc nhiều hàng có cùng giá trị cho tiêu chí sắp xếp.

RANK vs RANK DENSE

RANK trong Standard Query Language có thể hiểu là tính năng cho phép lập trình viên phân loại và đánh giá một tập hợp số nào đó.

Tính năng này cung cấp một thứ hạng cụ thể cho tất cả các số và khi cùng một số được lặp lại, thứ hạng cũng được lặp lại đối với hai số đó. Nhưng một đặc điểm rất độc đáo của tính năng này là khi nó cho phép xếp hạng tương tự cho hai hoặc nhiều số, nó luôn bỏ qua số tiếp theo. 

Ngược lại, DENSE_RANK hơi khác so với cái trước. DENSE_RANK trong Ngôn ngữ truy vấn tiêu chuẩn có thể được hiểu là một tính năng cho phép lập trình viên phân loại dữ liệu nhất định mà không bỏ qua bất kỳ số nào, ngay cả sau khi cho phép xếp hạng tương tự.

Cũng đọc:  Flash vs Quicksilver: Sự khác biệt và so sánh

Đặc điểm này tồn tại như là đặc điểm phân biệt chính của yếu tố này. 

Bảng so sánh

Các thông số so sánh CẤP  DENSE_RANK 
Ý nghĩa  Nó đề cập đến một chức năng có sẵn trong ngôn ngữ lập trình hỗ trợ phân loại các bộ dữ liệu khác nhau.  Nó đề cập đến một chức năng có sẵn trong ngôn ngữ lập trình hỗ trợ phân loại các bộ dữ liệu khác nhau mà không bỏ qua bất kỳ số nào.  
Quy trình xét duyệt  Việc xếp hạng được thực hiện bằng cách cung cấp các thứ hạng số khác nhau cho các số khác nhau. Khi hai số xảy ra tương tự nhau, cùng một thứ hạng được đưa ra. Việc xếp hạng dày đặc được thực hiện bằng cách cung cấp các thứ hạng số khác nhau cho các số khác nhau và các thứ hạng số tương tự cho các số tương tự. Tuy nhiên, không có số liên tiếp nào bị bỏ qua trong quá trình này. 
Mục đích  Mục đích của chức năng cụ thể này là phân tích thứ hạng nhất định của mỗi và mọi hàng. Mục đích của chức năng cụ thể này là phân tích thứ hạng của một cột cụ thể chứ không phải mọi hàng. 
tên lập trình thích hợp Nó được viết và đọc là RANK() Nó được viết và đọc là DENSE_RANK()  
Hệ thống số Trong khi thực hiện chức năng này, các thứ hạng tương tự được cung cấp cho các số tương tự và mọi số theo sau thứ hạng cụ thể đó đều bị bỏ qua Trong khi thực hiện chức năng này, các thứ hạng tương tự được cung cấp cho các số giống nhau nhưng không có số nào bị bỏ qua trong bảng xếp hạng. 
Ghim cái này ngay để nhớ sau
Ghim cái này

XẾP HẠNG là gì?

Trong ngôn ngữ lập trình máy tính có tên là ngôn ngữ truy vấn chuẩn hoặc SQL, rank là một tính năng rất cơ bản mà nhiều lập trình viên sử dụng để phân loại một tập dữ liệu khác nhau. Chức năng này cho phép người dùng đơn giản hóa dữ liệu được cung cấp và hiểu thông tin theo cách tốt hơn. 

Một tính năng rất độc đáo của chức năng này là khi hai hoặc nhiều số được lặp lại do số lượng của chúng, một thứ hạng tương tự sẽ được cung cấp cho chúng, như đã giải thích trước đó. Nhưng khi điều này được thực hiện, thứ tự xếp hạng sẽ bỏ qua số tiếp theo sau số thứ hạng cụ thể đó. 

Cũng đọc:  Notion vs Obsidian: Sự khác biệt và so sánh

Hãy để chúng tôi lấy một ví dụ để hiểu điều này. Trong khoảng thời gian 100 năm, công ty đã sản xuất các loại gạo với số lượng khác nhau là 200kg, 300kg. 300kg, 400kg, 1kg. Trong dữ liệu này, thứ hạng sẽ là 2, 3, 3, 5 và XNUMX.

Có thể thấy trong ví dụ này, số 4 đã bị bỏ qua theo thứ tự và điều này xảy ra là do sự lặp lại của số 3.  

DENSE_RANK là gì?

DENSE_RANK, là một tính năng có trong ngôn ngữ lập trình SQL, tình cờ là một tính năng độc đáo khác nhưng hơi khác một chút. Trong khi cung cấp thứ hạng, số lượng từ cao nhất đến thấp nhất được phân loại và xếp hạng theo đó.  

Các đại lượng tình cờ khác nhau được cung cấp các thứ hạng khác nhau, trong khi các đại lượng tương tự nhau được cung cấp các thứ hạng tương tự. Nhưng không giống như xếp hạng, trong chức năng cụ thể này, không có số nào được giữ lại khi xếp hạng một tập hợp dữ liệu được phân biệt. 

Hãy để chúng tôi lấy một ví dụ về điều này. Trong khoảng thời gian 100 năm, mỗi năm, một người đã đi được một quãng đường cụ thể. Anh ấy đã đi bộ lần lượt là 200 km, 300 km, 300 km, 500 km và XNUMX km.

Chức năng xếp hạng dày đặc sẽ cung cấp xếp hạng 1, 2, 3, 3, 4. Sự khác biệt có thể nhìn thấy vì nó không bỏ qua số 4. Tính năng này phổ biến trong lập trình vì khả năng phân loại dữ liệu hiện tại trong một nhóm nhỏ. cột. 

Sự khác biệt chính giữa RANK và DENSE_RANK 

  1. Xếp hạng là một hàm được cung cấp bằng ngôn ngữ SQL giúp lập trình viên phân loại một tập hợp dữ liệu khác, nhưng xếp hạng dày đặc là một hàm khác thực hiện công việc tương tự nhưng không bỏ qua bất kỳ số nào. 
  2. Mục đích của xếp hạng là phân tích thứ hạng nhất định của từng phòng, trong khi mục đích của xếp hạng dày đặc là chỉ phân tích thứ hạng của một cột cụ thể. 
  3. Thứ hạng được viết là RANK(), trong khi thứ hạng dày đặc được viết là DENSE_RANK(). 
  4. Trong bảng xếp hạng, thứ hạng tương tự được cung cấp cho các số tương tự, nhưng số tiếp theo sau thứ hạng cụ thể đó sẽ bị bỏ qua. Nhưng trong bảng xếp hạng dày đặc, không có số nào bị bỏ qua và thứ hạng tuân theo một thứ tự số cụ thể. 
  5. Xếp hạng dễ dàng lấy kết quả từ một lượng lớn dữ liệu, trong khi xếp hạng dày đặc chỉ phù hợp để lấy dữ liệu từ một nhóm cột hoặc hàng cụ thể. 

dự án 

  1. https://link.springer.com/chapter/10.1007/978-1-4842-5197-3_2 
  2. https://link.springer.com/chapter/10.1007/978-1-4842-7182-7_12  

Một yêu cầu?

Tôi đã nỗ lực rất nhiều để viết bài đăng trên blog này nhằm cung cấp giá trị cho bạn. Nó sẽ rất hữu ích cho tôi, nếu bạn cân nhắc chia sẻ nó trên mạng xã hội hoặc với bạn bè/gia đình của bạn. CHIA SẺ LÀ ♥️

Bạn muốn lưu bài viết này cho sau này? Nhấp vào trái tim ở góc dưới cùng bên phải để lưu vào hộp bài viết của riêng bạn!

về tác giả

Chara Yadav có bằng MBA về Tài chính. Mục tiêu của cô là đơn giản hóa các chủ đề liên quan đến tài chính. Cô đã làm việc trong lĩnh vực tài chính khoảng 25 năm. Cô đã tổ chức nhiều lớp học về tài chính và ngân hàng cho các trường kinh doanh và cộng đồng. Đọc thêm tại cô ấy trang sinh học.