{"id":1716,"date":"2018-09-08T04:20:02","date_gmt":"2018-09-08T11:20:02","guid":{"rendered":"https:\/\/sqltutorial.org\/?page_id=1716"},"modified":"2025-01-20T02:37:33","modified_gmt":"2025-01-20T09:37:33","slug":"sql-rank","status":"publish","type":"page","link":"https:\/\/www.sqltutorial.org\/sql-window-functions\/sql-rank\/","title":{"rendered":"SQL RANK Function"},"content":{"rendered":"\n<p><strong>Summary<\/strong>: in this tutorial, you will learn how to use SQL <code>RANK()<\/code> function to find the rank of each row in the result set.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id='introduction-to-sql-rank-function'>Introduction to SQL RANK() function <a href=\"#introduction-to-sql-rank-function\" class=\"anchor\" id=\"introduction-to-sql-rank-function\" title=\"Anchor for Introduction to SQL RANK() function\">#<\/a><\/h2>\n\n\n\n<p>The <code>RANK()<\/code> function is a <a href=\"https:\/\/www.sqltutorial.org\/sql-window-functions\/\">window function<\/a> that assigns a rank to each row in the partition of a result set.<\/p>\n\n\n\n<p>The rank of a row is determined by one plus the number of ranks that come before it.<\/p>\n\n\n\n<p>The syntax of the <code>RANK()<\/code> function is as follows<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"SQL (Structured Query Language)\" data-shcb-language-slug=\"sql\"><span><code class=\"hljs language-sql\">RANK() OVER (\n\tPARTITION BY &lt;expr1&gt;&#91;{,&lt;expr2&gt;...}]\n\tORDER BY &lt;expr1&gt; &#91;ASC|DESC], &#91;{,&lt;expr2&gt;...}]\n)<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">SQL (Structured Query Language)<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">sql<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>In this syntax:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>First, the <code>PARTITION BY<\/code> clause distributes the rows in the result set into partitions by one or more criteria.<\/li>\n\n\n\n<li>Second, the <code>ORDER BY<\/code> clause sorts the rows in each a partition.<\/li>\n\n\n\n<li>Third, the <code>RANK()<\/code> function is operated on the rows of each partition and re-initialized when crossing each partition boundary.<\/li>\n<\/ul>\n\n\n\n<p>The same column values receive the same ranks. When multiple rows share the same rank, the rank of the next row is not consecutive. This is similar to Olympic medaling in that if two athletes share the gold medal, there is no silver medal.<\/p>\n\n\n\n<p>The following statements <a href=\"https:\/\/www.sqltutorial.org\/sql-create-table\/\">create a new table<\/a> name <code>t<\/code> and <a href=\"https:\/\/www.sqltutorial.org\/sql-insert\/\">insert<\/a> some sample data:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-2\" data-shcb-language-name=\"SQL (Structured Query Language)\" data-shcb-language-slug=\"sql\"><span><code class=\"hljs language-sql\"><span class=\"hljs-keyword\">CREATE<\/span> <span class=\"hljs-keyword\">TABLE<\/span> t (\n\t<span class=\"hljs-keyword\">col<\/span> <span class=\"hljs-built_in\">CHAR<\/span>\n);\n\t\n<span class=\"hljs-keyword\">INSERT<\/span> <span class=\"hljs-keyword\">INTO<\/span> t(<span class=\"hljs-keyword\">col<\/span>)\n<span class=\"hljs-keyword\">VALUES<\/span>(<span class=\"hljs-string\">'A'<\/span>),(<span class=\"hljs-string\">'B'<\/span>),(<span class=\"hljs-string\">'B'<\/span>),(<span class=\"hljs-string\">'C'<\/span>),(<span class=\"hljs-string\">'D'<\/span>),(<span class=\"hljs-string\">'D'<\/span>),(<span class=\"hljs-string\">'E'<\/span>);\n\t\n\t\n<span class=\"hljs-keyword\">SELECT<\/span> \n\t*\n<span class=\"hljs-keyword\">FROM<\/span>\n\tt;\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-2\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">SQL (Structured Query Language)<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">sql<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>The following statement uses the <code>RANK()<\/code> function to assign ranks to the rows of the result set:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-3\" data-shcb-language-name=\"SQL (Structured Query Language)\" data-shcb-language-slug=\"sql\"><span><code class=\"hljs language-sql\"><span class=\"hljs-keyword\">SELECT<\/span>\n\t<span class=\"hljs-keyword\">col<\/span>,\n\t<span class=\"hljs-keyword\">RANK<\/span>() <span class=\"hljs-keyword\">OVER<\/span> (\n\t\t<span class=\"hljs-keyword\">ORDER<\/span> <span class=\"hljs-keyword\">BY<\/span> <span class=\"hljs-keyword\">col<\/span>\n\t) myrank\n<span class=\"hljs-keyword\">FROM<\/span>\n\tt;\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-3\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">SQL (Structured Query Language)<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">sql<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>The following picture shows the output:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"113\" height=\"157\" src=\"https:\/\/www.sqltutorial.org\/wp-content\/uploads\/2018\/09\/SQL-Rank-Function-example.png\" alt=\"SQL Rank Function example\" class=\"wp-image-1717\" title=\"SQL Rank Function example\"\/><\/figure>\n\n\n\n<p>As clearly shown in the output, the second and third rows share the same rank because they have the same value. The fourth row gets the rank 4 because the <code>RANK()<\/code> function skips the rank 3.<\/p>\n\n\n\n<p>Note that if you want to have consecutive ranks, you can use the <code>DENSE_RANK()<\/code> function.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id='sql-rank-function-examples'>SQL RANK() function examples <a href=\"#sql-rank-function-examples\" class=\"anchor\" id=\"sql-rank-function-examples\" title=\"Anchor for SQL RANK() function examples\">#<\/a><\/h2>\n\n\n\n<p>We will use the <code>employees<\/code>&nbsp;and <code>departments<\/code> table from the <a href=\"https:\/\/www.sqltutorial.org\/sql-sample-database\/\">sample database<\/a> for the demonstration.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"451\" height=\"269\" src=\"https:\/\/www.sqltutorial.org\/wp-content\/uploads\/2018\/01\/employees_departments_tables.png\" alt=\"Employees &amp; Departments Tables\" class=\"wp-image-1190\" srcset=\"https:\/\/www.sqltutorial.org\/wp-content\/uploads\/2018\/01\/employees_departments_tables.png 451w, https:\/\/www.sqltutorial.org\/wp-content\/uploads\/2018\/01\/employees_departments_tables-300x179.png 300w\" sizes=\"auto, (max-width: 451px) 100vw, 451px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id='using-sql-rank-function-over-the-result-set-example'>Using SQL RANK() function over the result set example <a href=\"#using-sql-rank-function-over-the-result-set-example\" class=\"anchor\" id=\"using-sql-rank-function-over-the-result-set-example\" title=\"Anchor for Using SQL RANK() function over the result set example\">#<\/a><\/h3>\n\n\n\n<p>The following statement ranks employees by their salaries:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-4\" data-shcb-language-name=\"SQL (Structured Query Language)\" data-shcb-language-slug=\"sql\"><span><code class=\"hljs language-sql\"><span class=\"hljs-keyword\">SELECT<\/span> \n\tfirst_name, \n\tlast_name, \n\tsalary, \n\t<span class=\"hljs-keyword\">RANK<\/span>() <span class=\"hljs-keyword\">OVER<\/span> (<span class=\"hljs-keyword\">ORDER<\/span> <span class=\"hljs-keyword\">BY<\/span> salary) salary_rank\n<span class=\"hljs-keyword\">FROM<\/span> \n\temployees;\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-4\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">SQL (Structured Query Language)<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">sql<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>The following shows the partial output:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"291\" height=\"304\" src=\"https:\/\/www.sqltutorial.org\/wp-content\/uploads\/2018\/09\/SQL-Rank-Function-over-result-set-example.png\" alt=\"SQL Rank Function over result set example\" class=\"wp-image-1718\" srcset=\"https:\/\/www.sqltutorial.org\/wp-content\/uploads\/2018\/09\/SQL-Rank-Function-over-result-set-example.png 291w, https:\/\/www.sqltutorial.org\/wp-content\/uploads\/2018\/09\/SQL-Rank-Function-over-result-set-example-287x300.png 287w\" sizes=\"auto, (max-width: 291px) 100vw, 291px\" \/><\/figure>\n\n\n\n<p>In this example, we omitted the <code>PARTITION BY<\/code> clause so the whole result set was treated as a single partition.<\/p>\n\n\n\n<p>The <code>ORDER BY<\/code> clause sorted the rows in the result by salary. The <code>RANK()<\/code> function then is applied to each row in the result considering the order of employees by salary in descending order.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id='using-sql-rank-function-over-partition-example'>Using SQL RANK() function over partition example <a href=\"#using-sql-rank-function-over-partition-example\" class=\"anchor\" id=\"using-sql-rank-function-over-partition-example\" title=\"Anchor for Using SQL RANK() function over partition example\">#<\/a><\/h3>\n\n\n\n<p>The following statement finds the employees who have the second highest salary in their departments:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-5\" data-shcb-language-name=\"SQL (Structured Query Language)\" data-shcb-language-slug=\"sql\"><span><code class=\"hljs language-sql\"><span class=\"hljs-keyword\">WITH<\/span> payroll <span class=\"hljs-keyword\">AS<\/span> (\n\t<span class=\"hljs-keyword\">SELECT<\/span> \n\t\tfirst_name, \n\t\tlast_name, \n\t\tdepartment_id,\n\t\tsalary, \n\t\t<span class=\"hljs-keyword\">RANK<\/span>() <span class=\"hljs-keyword\">OVER<\/span> (\n\t\t\t<span class=\"hljs-keyword\">PARTITION<\/span> <span class=\"hljs-keyword\">BY<\/span> department_id\n\t\t\t<span class=\"hljs-keyword\">ORDER<\/span> <span class=\"hljs-keyword\">BY<\/span> salary) salary_rank\n\t<span class=\"hljs-keyword\">FROM<\/span> \n\t\temployees\n)\n<span class=\"hljs-keyword\">SELECT<\/span> \n\tfirst_name, \n\tlast_name,\n\tdepartment_name,\n\tsalary\n<span class=\"hljs-keyword\">FROM<\/span> \n\tpayroll p\n\t<span class=\"hljs-keyword\">INNER<\/span> <span class=\"hljs-keyword\">JOIN<\/span> departments d \n\t\t<span class=\"hljs-keyword\">ON<\/span> d.department_id = p.department_id\n<span class=\"hljs-keyword\">WHERE<\/span> \n\tsalary_rank = <span class=\"hljs-number\">2<\/span>;\t\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-5\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">SQL (Structured Query Language)<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">sql<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>In the common table expression, we find the salary ranks of employees by their departments:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>First, the <code>PARTITION BY<\/code> clause divided the employee records by their departments into partitions.<\/li>\n\n\n\n<li>Then, the <code>ORDER BY<\/code> clause sorted employees in each partition by salary.<\/li>\n\n\n\n<li>Finally, the <code>RANK()<\/code> function assigned ranks to employees per partition. The employees who have the same salary got the same rank.<\/li>\n<\/ul>\n\n\n\n<p>The following picture illustrates the partial result set of the common table expression:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"385\" height=\"316\" src=\"https:\/\/www.sqltutorial.org\/wp-content\/uploads\/2018\/09\/SQL-Rank-Function-CTE.png\" alt=\"SQL Rank Function CTE\" class=\"wp-image-1720\" title=\"SQL Rank Function CTE\" srcset=\"https:\/\/www.sqltutorial.org\/wp-content\/uploads\/2018\/09\/SQL-Rank-Function-CTE.png 385w, https:\/\/www.sqltutorial.org\/wp-content\/uploads\/2018\/09\/SQL-Rank-Function-CTE-300x246.png 300w\" sizes=\"auto, (max-width: 385px) 100vw, 385px\" \/><\/figure>\n\n\n\n<p>The outer query joined selected only employees whose salary rank is 2. It also joined with the &nbsp;<code>departments<\/code> table to return the department names in the final result set.<\/p>\n\n\n\n<p>The following picture shows the output of the query:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"324\" height=\"178\" src=\"https:\/\/www.sqltutorial.org\/wp-content\/uploads\/2018\/09\/SQL-Rank-Function-over-partition-example.png\" alt=\"SQL Rank Function over partition example\" class=\"wp-image-1719\" title=\"SQL Rank Function over partition example\" srcset=\"https:\/\/www.sqltutorial.org\/wp-content\/uploads\/2018\/09\/SQL-Rank-Function-over-partition-example.png 324w, https:\/\/www.sqltutorial.org\/wp-content\/uploads\/2018\/09\/SQL-Rank-Function-over-partition-example-300x165.png 300w\" sizes=\"auto, (max-width: 324px) 100vw, 324px\" \/><\/figure>\n\n\n\n<p>In this tutorial, you have learned how to use the SQL <code>RANK()<\/code> function that assigns a rank to each row in a result set.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id='databases'>Databases <a href=\"#databases\" class=\"anchor\" id=\"databases\" title=\"Anchor for Databases\">#<\/a><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.pgtutorial.com\/postgresql-window-functions\/postgresql-rank\/\" target=\"_blank\" rel=\"noreferrer noopener\">PostgreSQL RANK function<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.oracletutorial.com\/oracle-analytic-functions\/oracle-rank\/\" target=\"_blank\" rel=\"noreferrer noopener\">Oracle RANK function<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.sqlservertutorial.net\/sql-server-window-functions\/sql-server-rank-function\/\" target=\"_blank\" rel=\"noreferrer noopener\">SQL Server RANK function<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.mysqltutorial.org\/mysql-window-functions\/mysql-rank-function\/\" target=\"_blank\" rel=\"noreferrer noopener\">MySQL RANK function<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.sqlitetutorial.net\/sqlite-window-functions\/sqlite-rank\/\" target=\"_blank\" rel=\"noreferrer noopener\">SQLite RANK function<\/a><\/li>\n<\/ul>\n<div class=\"helpful-block-content\" data-title=\"\">\n\t<header>\n\t\t<div class=\"wth-question\">Was this tutorial helpful ?<\/div>\n\t\t<div class=\"wth-thumbs\">\n\t\t\t<button\n\t\t\t\tdata-post=\"1716\"\n\t\t\t\tdata-post-url=\"https:\/\/www.sqltutorial.org\/sql-window-functions\/sql-rank\/\"\n\t\t\t\tdata-post-title=\"SQL RANK Function\"\n\t\t\t\tdata-response=\"1\"\n\t\t\t\tclass=\"wth-btn-rounded wth-yes-btn\"\n\t\t\t>\n\t\t\t\t<svg\n\t\t\t\t\txmlns=\"http:\/\/www.w3.org\/2000\/svg\"\n\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\tfill=\"none\"\n\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\tstroke-width=\"2\"\n\t\t\t\t\tstroke-linecap=\"round\"\n\t\t\t\t\tstroke-linejoin=\"round\"\n\t\t\t\t\tclass=\"feather feather-thumbs-up block w-full h-full\"\n\t\t\t\t>\n\t\t\t\t\t<path\n\t\t\t\t\t\td=\"M14 9V5a3 3 0 0 0-3-3l-4 9v11h11.28a2 2 0 0 0 2-1.7l1.38-9a2 2 0 0 0-2-2.3zM7 22H4a2 2 0 0 1-2-2v-7a2 2 0 0 1 2-2h3\"\n\t\t\t\t\t><\/path>\n\t\t\t\t<\/svg>\n\t\t\t\t<span class=\"sr-only\"> Yes <\/span>\n\t\t\t<\/button>\n\n\t\t\t<button\n\t\t\t\tdata-response=\"0\"\n\t\t\t\tdata-post=\"1716\"\n\t\t\t\tdata-post-url=\"https:\/\/www.sqltutorial.org\/sql-window-functions\/sql-rank\/\"\n\t\t\t\tdata-post-title=\"SQL RANK Function\"\n\t\t\t\tclass=\"wth-btn-rounded wth-no-btn\"\n\t\t\t>\n\t\t\t\t<svg\n\t\t\t\t\txmlns=\"http:\/\/www.w3.org\/2000\/svg\"\n\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\tfill=\"none\"\n\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\tstroke-width=\"2\"\n\t\t\t\t\tstroke-linecap=\"round\"\n\t\t\t\t\tstroke-linejoin=\"round\"\n\t\t\t\t>\n\t\t\t\t\t<path\n\t\t\t\t\t\td=\"M10 15v4a3 3 0 0 0 3 3l4-9V2H5.72a2 2 0 0 0-2 1.7l-1.38 9a2 2 0 0 0 2 2.3zm7-13h2.67A2.31 2.31 0 0 1 22 4v7a2.31 2.31 0 0 1-2.33 2H17\"\n\t\t\t\t\t><\/path>\n\t\t\t\t<\/svg>\n\t\t\t\t<span class=\"sr-only\"> No <\/span>\n\t\t\t<\/button>\n\t\t<\/div>\n\t<\/header>\n\n\t<div class=\"wth-form hidden\">\n\t\t<div class=\"wth-form-wrapper\">\n\t\t\t<div class=\"wth-title\"><\/div>\n\t\t\t\n\t\t\t<textarea class=\"wth-message\"><\/textarea>\n\n\t\t\t<button class=\"btn btn-primary wth-btn-submit\">Send<\/button>\n\t\t\t<button class=\"btn wth-btn-cancel\">Cancel<\/button>\n\t\t\n\t\t<\/div>\n\t<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>This tutorial shows how to use the SQL RANK() function to find ranks of rows in a result set. It also provides some practical applications of the RANK() function.<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":1707,"menu_order":8,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1716","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>SQL RANK() Function Explained By Practical Examples<\/title>\n<meta name=\"description\" content=\"This tutorial shows how to use SQL RANK() function to find ranks of rows in a result set. It provides some practical applications of the RANK() function.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.sqltutorial.org\/sql-window-functions\/sql-rank\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"SQL RANK() Function Explained By Practical Examples\" \/>\n<meta property=\"og:description\" content=\"This tutorial shows how to use SQL RANK() function to find ranks of rows in a result set. It provides some practical applications of the RANK() function.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.sqltutorial.org\/sql-window-functions\/sql-rank\/\" \/>\n<meta property=\"og:site_name\" content=\"SQL Tutorial\" \/>\n<meta property=\"article:modified_time\" content=\"2025-01-20T09:37:33+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.sqltutorial.org\/wp-content\/uploads\/2018\/09\/SQL-Rank-Function-example.png\" \/>\n\t<meta property=\"og:image:width\" content=\"113\" \/>\n\t<meta property=\"og:image:height\" content=\"157\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.sqltutorial.org\/sql-window-functions\/sql-rank\/\",\"url\":\"https:\/\/www.sqltutorial.org\/sql-window-functions\/sql-rank\/\",\"name\":\"SQL RANK() Function Explained By Practical Examples\",\"isPartOf\":{\"@id\":\"https:\/\/www.sqltutorial.org\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.sqltutorial.org\/sql-window-functions\/sql-rank\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.sqltutorial.org\/sql-window-functions\/sql-rank\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.sqltutorial.org\/wp-content\/uploads\/2018\/09\/SQL-Rank-Function-example.png\",\"datePublished\":\"2018-09-08T11:20:02+00:00\",\"dateModified\":\"2025-01-20T09:37:33+00:00\",\"description\":\"This tutorial shows how to use SQL RANK() function to find ranks of rows in a result set. It provides some practical applications of the RANK() function.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.sqltutorial.org\/sql-window-functions\/sql-rank\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.sqltutorial.org\/sql-window-functions\/sql-rank\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.sqltutorial.org\/sql-window-functions\/sql-rank\/#primaryimage\",\"url\":\"https:\/\/www.sqltutorial.org\/wp-content\/uploads\/2018\/09\/SQL-Rank-Function-example.png\",\"contentUrl\":\"https:\/\/www.sqltutorial.org\/wp-content\/uploads\/2018\/09\/SQL-Rank-Function-example.png\",\"width\":113,\"height\":157,\"caption\":\"SQL Rank Function example\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.sqltutorial.org\/sql-window-functions\/sql-rank\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.sqltutorial.org\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"SQL Window Functions\",\"item\":\"https:\/\/www.sqltutorial.org\/sql-window-functions\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"SQL RANK Function\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.sqltutorial.org\/#website\",\"url\":\"https:\/\/www.sqltutorial.org\/\",\"name\":\"SQL Tutorial\",\"description\":\"An Interactive SQL Tutorial\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.sqltutorial.org\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"SQL RANK() Function Explained By Practical Examples","description":"This tutorial shows how to use SQL RANK() function to find ranks of rows in a result set. It provides some practical applications of the RANK() function.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.sqltutorial.org\/sql-window-functions\/sql-rank\/","og_locale":"en_US","og_type":"article","og_title":"SQL RANK() Function Explained By Practical Examples","og_description":"This tutorial shows how to use SQL RANK() function to find ranks of rows in a result set. It provides some practical applications of the RANK() function.","og_url":"https:\/\/www.sqltutorial.org\/sql-window-functions\/sql-rank\/","og_site_name":"SQL Tutorial","article_modified_time":"2025-01-20T09:37:33+00:00","og_image":[{"width":113,"height":157,"url":"https:\/\/www.sqltutorial.org\/wp-content\/uploads\/2018\/09\/SQL-Rank-Function-example.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.sqltutorial.org\/sql-window-functions\/sql-rank\/","url":"https:\/\/www.sqltutorial.org\/sql-window-functions\/sql-rank\/","name":"SQL RANK() Function Explained By Practical Examples","isPartOf":{"@id":"https:\/\/www.sqltutorial.org\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.sqltutorial.org\/sql-window-functions\/sql-rank\/#primaryimage"},"image":{"@id":"https:\/\/www.sqltutorial.org\/sql-window-functions\/sql-rank\/#primaryimage"},"thumbnailUrl":"https:\/\/www.sqltutorial.org\/wp-content\/uploads\/2018\/09\/SQL-Rank-Function-example.png","datePublished":"2018-09-08T11:20:02+00:00","dateModified":"2025-01-20T09:37:33+00:00","description":"This tutorial shows how to use SQL RANK() function to find ranks of rows in a result set. It provides some practical applications of the RANK() function.","breadcrumb":{"@id":"https:\/\/www.sqltutorial.org\/sql-window-functions\/sql-rank\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.sqltutorial.org\/sql-window-functions\/sql-rank\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.sqltutorial.org\/sql-window-functions\/sql-rank\/#primaryimage","url":"https:\/\/www.sqltutorial.org\/wp-content\/uploads\/2018\/09\/SQL-Rank-Function-example.png","contentUrl":"https:\/\/www.sqltutorial.org\/wp-content\/uploads\/2018\/09\/SQL-Rank-Function-example.png","width":113,"height":157,"caption":"SQL Rank Function example"},{"@type":"BreadcrumbList","@id":"https:\/\/www.sqltutorial.org\/sql-window-functions\/sql-rank\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.sqltutorial.org\/"},{"@type":"ListItem","position":2,"name":"SQL Window Functions","item":"https:\/\/www.sqltutorial.org\/sql-window-functions\/"},{"@type":"ListItem","position":3,"name":"SQL RANK Function"}]},{"@type":"WebSite","@id":"https:\/\/www.sqltutorial.org\/#website","url":"https:\/\/www.sqltutorial.org\/","name":"SQL Tutorial","description":"An Interactive SQL Tutorial","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.sqltutorial.org\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/www.sqltutorial.org\/wp-json\/wp\/v2\/pages\/1716","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.sqltutorial.org\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.sqltutorial.org\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.sqltutorial.org\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.sqltutorial.org\/wp-json\/wp\/v2\/comments?post=1716"}],"version-history":[{"count":0,"href":"https:\/\/www.sqltutorial.org\/wp-json\/wp\/v2\/pages\/1716\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/www.sqltutorial.org\/wp-json\/wp\/v2\/pages\/1707"}],"wp:attachment":[{"href":"https:\/\/www.sqltutorial.org\/wp-json\/wp\/v2\/media?parent=1716"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}