{"id":1728,"date":"2018-11-11T11:11:23","date_gmt":"2018-11-11T04:11:23","guid":{"rendered":"http:\/\/www.sqlitetutorial.net\/?page_id=1728"},"modified":"2024-04-16T10:10:29","modified_gmt":"2024-04-16T03:10:29","slug":"sqlite-ntile","status":"publish","type":"page","link":"https:\/\/www.sqlitetutorial.net\/sqlite-window-functions\/sqlite-ntile\/","title":{"rendered":"SQLite NTILE() Function"},"content":{"rendered":"\n<p><strong>Summary<\/strong>: in this tutorial, you will learn how to use the SQLite <code>NTILE()<\/code> function to divide a result set into a number of buckets and assign a bucket number to each row.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Introduction to SQLite NTILE() function<\/h2>\n\n\n\n<p>SQLite <code>NTILE()<\/code> function is a <a href=\"https:\/\/www.sqlitetutorial.net\/sqlite-window-functions\/\">window function<\/a> that divides an ordered result set into a number of buckets by a specified expression and assigns an appropriate bucket number to each row.<\/p>\n\n\n\n<p>The following shows the syntax of the <code>NTILE()<\/code> function:<\/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\">NTILE(expression) OVER ( \n\tPARTITION BY expression1, expression2,...\n\tORDER BY expression1 &#91;ASC | DESC]expression2,\n)\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<h3 class=\"wp-block-heading\">expression<\/h3>\n\n\n\n<p>The <code>expression<\/code> can be a literal positive integer or any valid expression that resolves to a positive integer.<\/p>\n\n\n\n<p>The <code>NTILE()<\/code> function assigns numbers from 1 through the value of the <code>expression<\/code> to each row. The number of rows in buckets can differ by at most 1. The remainder of the number of rows divided by buckets is allocated to each bucket, starting with bucket 1.<\/p>\n\n\n\n<p>For example, if you have 10 rows and 4 buckets. Each bucket will have 2 rows. The remainder of 10\/4 is 2. So the first bucket will have 2 + 1 = 3 rows, the second bucket will also have 3 rows.<\/p>\n\n\n\n<p>The following picture illustrates the idea:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"823\" height=\"347\" src=\"https:\/\/www.sqlitetutorial.net\/wp-content\/uploads\/2018\/11\/SQLite-NTILE.png\" alt=\"SQLite NTILE\" class=\"wp-image-1729\" srcset=\"https:\/\/www.sqlitetutorial.net\/wp-content\/uploads\/2018\/11\/SQLite-NTILE.png 823w, https:\/\/www.sqlitetutorial.net\/wp-content\/uploads\/2018\/11\/SQLite-NTILE-300x126.png 300w, https:\/\/www.sqlitetutorial.net\/wp-content\/uploads\/2018\/11\/SQLite-NTILE-768x324.png 768w\" sizes=\"auto, (max-width: 823px) 100vw, 823px\" \/><\/figure>\n\n\n\n<p>If the value of the expression is greater than the number of rows, then the <code>NTILE()<\/code> function will fill the number of buckets equal to the number of rows. Hence, the remaining buckets will be empty.<\/p>\n\n\n\n<p>For example, if you have 10 rows and 11 buckets, each row will be assigned a bucket number from 1 to 10. The 11th bucket will have no row.<\/p>\n\n\n\n<p>Notice that you cannot use a <a href=\"https:\/\/www.sqlitetutorial.net\/sqlite-subquery\/\">subquery<\/a> or a <a href=\"https:\/\/www.sqlitetutorial.net\/sqlite-window-functions\/\">window function<\/a> in the <code>expression<\/code>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">PARTITION BY<\/h3>\n\n\n\n<p>The <code>PARTITION BY<\/code> clause divides the result sets into partitions to which the <code>NTILE<\/code> function applies.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">ORDER BY<\/h3>\n\n\n\n<p>The <code>ORDER BY<\/code> clause specifies the order of rows in each partition to which the <code>NTILE()<\/code> applies.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">SQLite\u00a0NTILE() function examples<\/h2>\n\n\n\n<p>We will use the tracks table from the sample database to demonstrate the <code>NTILE()<\/code> function:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"174\" height=\"224\" src=\"https:\/\/www.sqlitetutorial.net\/wp-content\/uploads\/2018\/11\/tracks.png\" alt=\"\" class=\"wp-image-1558\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">1) Using the NTILE() function with ORDER BY example<\/h3>\n\n\n\n<p>The following statement uses the <code>NTILE()<\/code> function to divide into 4 buckets the values in the <code>Milliseconds<\/code> column of the <code>tracks<\/code> table from the album 1:<\/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\">SELECT<\/span>\n  <span class=\"hljs-keyword\">Name<\/span>,\n  Milliseconds,\n  NTILE (<span class=\"hljs-number\">4<\/span>) <span class=\"hljs-keyword\">OVER<\/span> (\n    <span class=\"hljs-keyword\">ORDER<\/span> <span class=\"hljs-keyword\">BY<\/span>\n      Milliseconds\n  ) LengthBucket\n<span class=\"hljs-keyword\">FROM<\/span>\n  tracks\n<span class=\"hljs-keyword\">WHERE<\/span>\n  AlbumId = <span class=\"hljs-number\">1<\/span>;<\/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>Here is the output:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"452\" height=\"220\" src=\"https:\/\/www.sqlitetutorial.net\/wp-content\/uploads\/2018\/11\/SQLite-NTILE-with-ORDER-BY-example.png\" alt=\"SQLite NTILE with ORDER BY example\" class=\"wp-image-1733\" srcset=\"https:\/\/www.sqlitetutorial.net\/wp-content\/uploads\/2018\/11\/SQLite-NTILE-with-ORDER-BY-example.png 452w, https:\/\/www.sqlitetutorial.net\/wp-content\/uploads\/2018\/11\/SQLite-NTILE-with-ORDER-BY-example-300x146.png 300w\" sizes=\"auto, (max-width: 452px) 100vw, 452px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">2) Using the NTILE() function with PARTITION BY clause example<\/h3>\n\n\n\n<p>The following statement uses the <code>NTILE()<\/code> function to divide the tracks of each album into 3 buckets by the values in the <code>Bytes<\/code> column:<\/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  AlbumId,\n  <span class=\"hljs-keyword\">Name<\/span>,\n  Milliseconds,\n  NTILE (<span class=\"hljs-number\">3<\/span>) <span class=\"hljs-keyword\">OVER<\/span> (\n    <span class=\"hljs-keyword\">PARTITION<\/span> <span class=\"hljs-keyword\">BY<\/span>\n      AlbumId\n    <span class=\"hljs-keyword\">ORDER<\/span> <span class=\"hljs-keyword\">BY<\/span>\n      <span class=\"hljs-keyword\">Bytes<\/span>\n  ) SizeBucket\n<span class=\"hljs-keyword\">FROM<\/span>\n  tracks;<\/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=\"523\" height=\"308\" src=\"https:\/\/www.sqlitetutorial.net\/wp-content\/uploads\/2018\/11\/SQLite-NTILE-with-PARTITION-BY-example.png\" alt=\"SQLite NTILE with PARTITION BY example\" class=\"wp-image-1732\" srcset=\"https:\/\/www.sqlitetutorial.net\/wp-content\/uploads\/2018\/11\/SQLite-NTILE-with-PARTITION-BY-example.png 523w, https:\/\/www.sqlitetutorial.net\/wp-content\/uploads\/2018\/11\/SQLite-NTILE-with-PARTITION-BY-example-300x177.png 300w\" sizes=\"auto, (max-width: 523px) 100vw, 523px\" \/><\/figure>\n\n\n\n<p>In this example, <\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The <code>PARTITION BY<\/code> clause distributes the rows into partitions or albums. <\/li>\n\n\n\n<li>The <code>ORDER BY<\/code> clause sorts the tracks in each album by their sizes in bytes.<\/li>\n<\/ul>\n\n\n\n<p>The <code>NTILE()<\/code> function assigned a bucket number to each track and reset the bucket number for each album.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Summary<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Use the SQLite <code>NTILE()<\/code> function to divide a result set into a number of buckets and assign a bucket number to each row.<\/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=\"1728\"\n\t\t\t\tdata-post-url=\"https:\/\/www.sqlitetutorial.net\/sqlite-window-functions\/sqlite-ntile\/\"\n\t\t\t\tdata-post-title=\"SQLite NTILE() 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=\"1728\"\n\t\t\t\tdata-post-url=\"https:\/\/www.sqlitetutorial.net\/sqlite-window-functions\/sqlite-ntile\/\"\n\t\t\t\tdata-post-title=\"SQLite NTILE() 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 you how to use the SQLite NTILE() function to divide a result set into a number of buckets and assign a bucket number to each row.<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":1659,"menu_order":7,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1728","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>SQLite NTILE Window Function By Practical Examples<\/title>\n<meta name=\"description\" content=\"This tutorial shows you how to use the SQLite NTILE() function to divide a result set into a number of buckets and assign a bucket number to each row.\" \/>\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.sqlitetutorial.net\/sqlite-window-functions\/sqlite-ntile\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"SQLite NTILE Window Function By Practical Examples\" \/>\n<meta property=\"og:description\" content=\"This tutorial shows you how to use the SQLite NTILE() function to divide a result set into a number of buckets and assign a bucket number to each row.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.sqlitetutorial.net\/sqlite-window-functions\/sqlite-ntile\/\" \/>\n<meta property=\"og:site_name\" content=\"SQLite Tutorial\" \/>\n<meta property=\"article:modified_time\" content=\"2024-04-16T03:10:29+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.sqlitetutorial.net\/wp-content\/uploads\/2018\/11\/SQLite-NTILE.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=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.sqlitetutorial.net\/sqlite-window-functions\/sqlite-ntile\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.sqlitetutorial.net\/sqlite-window-functions\/sqlite-ntile\/\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\/\/www.sqlitetutorial.net\/#\/schema\/person\/6d69b968cad0102e30d6694ed8dc6427\"},\"headline\":\"SQLite NTILE() Function\",\"datePublished\":\"2018-11-11T04:11:23+00:00\",\"dateModified\":\"2024-04-16T03:10:29+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.sqlitetutorial.net\/sqlite-window-functions\/sqlite-ntile\/\"},\"wordCount\":426,\"image\":{\"@id\":\"https:\/\/www.sqlitetutorial.net\/sqlite-window-functions\/sqlite-ntile\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.sqlitetutorial.net\/wp-content\/uploads\/2018\/11\/SQLite-NTILE.png\",\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.sqlitetutorial.net\/sqlite-window-functions\/sqlite-ntile\/\",\"url\":\"https:\/\/www.sqlitetutorial.net\/sqlite-window-functions\/sqlite-ntile\/\",\"name\":\"SQLite NTILE Window Function By Practical Examples\",\"isPartOf\":{\"@id\":\"https:\/\/www.sqlitetutorial.net\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.sqlitetutorial.net\/sqlite-window-functions\/sqlite-ntile\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.sqlitetutorial.net\/sqlite-window-functions\/sqlite-ntile\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.sqlitetutorial.net\/wp-content\/uploads\/2018\/11\/SQLite-NTILE.png\",\"datePublished\":\"2018-11-11T04:11:23+00:00\",\"dateModified\":\"2024-04-16T03:10:29+00:00\",\"description\":\"This tutorial shows you how to use the SQLite NTILE() function to divide a result set into a number of buckets and assign a bucket number to each row.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.sqlitetutorial.net\/sqlite-window-functions\/sqlite-ntile\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.sqlitetutorial.net\/sqlite-window-functions\/sqlite-ntile\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.sqlitetutorial.net\/sqlite-window-functions\/sqlite-ntile\/#primaryimage\",\"url\":\"https:\/\/www.sqlitetutorial.net\/wp-content\/uploads\/2018\/11\/SQLite-NTILE.png\",\"contentUrl\":\"https:\/\/www.sqlitetutorial.net\/wp-content\/uploads\/2018\/11\/SQLite-NTILE.png\",\"width\":823,\"height\":347,\"caption\":\"SQLite NTILE\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.sqlitetutorial.net\/sqlite-window-functions\/sqlite-ntile\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.sqlitetutorial.net\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"SQLite Window Functions\",\"item\":\"https:\/\/www.sqlitetutorial.net\/sqlite-window-functions\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"SQLite NTILE() Function\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.sqlitetutorial.net\/#website\",\"url\":\"https:\/\/www.sqlitetutorial.net\/\",\"name\":\"SQLite Tutorial\",\"description\":\"A Step-by-step SQLite Tutorial\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.sqlitetutorial.net\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.sqlitetutorial.net\/#\/schema\/person\/6d69b968cad0102e30d6694ed8dc6427\",\"name\":\"admin\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"SQLite NTILE Window Function By Practical Examples","description":"This tutorial shows you how to use the SQLite NTILE() function to divide a result set into a number of buckets and assign a bucket number to each row.","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.sqlitetutorial.net\/sqlite-window-functions\/sqlite-ntile\/","og_locale":"en_US","og_type":"article","og_title":"SQLite NTILE Window Function By Practical Examples","og_description":"This tutorial shows you how to use the SQLite NTILE() function to divide a result set into a number of buckets and assign a bucket number to each row.","og_url":"https:\/\/www.sqlitetutorial.net\/sqlite-window-functions\/sqlite-ntile\/","og_site_name":"SQLite Tutorial","article_modified_time":"2024-04-16T03:10:29+00:00","og_image":[{"url":"https:\/\/www.sqlitetutorial.net\/wp-content\/uploads\/2018\/11\/SQLite-NTILE.png","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.sqlitetutorial.net\/sqlite-window-functions\/sqlite-ntile\/#article","isPartOf":{"@id":"https:\/\/www.sqlitetutorial.net\/sqlite-window-functions\/sqlite-ntile\/"},"author":{"name":"admin","@id":"https:\/\/www.sqlitetutorial.net\/#\/schema\/person\/6d69b968cad0102e30d6694ed8dc6427"},"headline":"SQLite NTILE() Function","datePublished":"2018-11-11T04:11:23+00:00","dateModified":"2024-04-16T03:10:29+00:00","mainEntityOfPage":{"@id":"https:\/\/www.sqlitetutorial.net\/sqlite-window-functions\/sqlite-ntile\/"},"wordCount":426,"image":{"@id":"https:\/\/www.sqlitetutorial.net\/sqlite-window-functions\/sqlite-ntile\/#primaryimage"},"thumbnailUrl":"https:\/\/www.sqlitetutorial.net\/wp-content\/uploads\/2018\/11\/SQLite-NTILE.png","inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.sqlitetutorial.net\/sqlite-window-functions\/sqlite-ntile\/","url":"https:\/\/www.sqlitetutorial.net\/sqlite-window-functions\/sqlite-ntile\/","name":"SQLite NTILE Window Function By Practical Examples","isPartOf":{"@id":"https:\/\/www.sqlitetutorial.net\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.sqlitetutorial.net\/sqlite-window-functions\/sqlite-ntile\/#primaryimage"},"image":{"@id":"https:\/\/www.sqlitetutorial.net\/sqlite-window-functions\/sqlite-ntile\/#primaryimage"},"thumbnailUrl":"https:\/\/www.sqlitetutorial.net\/wp-content\/uploads\/2018\/11\/SQLite-NTILE.png","datePublished":"2018-11-11T04:11:23+00:00","dateModified":"2024-04-16T03:10:29+00:00","description":"This tutorial shows you how to use the SQLite NTILE() function to divide a result set into a number of buckets and assign a bucket number to each row.","breadcrumb":{"@id":"https:\/\/www.sqlitetutorial.net\/sqlite-window-functions\/sqlite-ntile\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.sqlitetutorial.net\/sqlite-window-functions\/sqlite-ntile\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.sqlitetutorial.net\/sqlite-window-functions\/sqlite-ntile\/#primaryimage","url":"https:\/\/www.sqlitetutorial.net\/wp-content\/uploads\/2018\/11\/SQLite-NTILE.png","contentUrl":"https:\/\/www.sqlitetutorial.net\/wp-content\/uploads\/2018\/11\/SQLite-NTILE.png","width":823,"height":347,"caption":"SQLite NTILE"},{"@type":"BreadcrumbList","@id":"https:\/\/www.sqlitetutorial.net\/sqlite-window-functions\/sqlite-ntile\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.sqlitetutorial.net\/"},{"@type":"ListItem","position":2,"name":"SQLite Window Functions","item":"https:\/\/www.sqlitetutorial.net\/sqlite-window-functions\/"},{"@type":"ListItem","position":3,"name":"SQLite NTILE() Function"}]},{"@type":"WebSite","@id":"https:\/\/www.sqlitetutorial.net\/#website","url":"https:\/\/www.sqlitetutorial.net\/","name":"SQLite Tutorial","description":"A Step-by-step SQLite Tutorial","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.sqlitetutorial.net\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.sqlitetutorial.net\/#\/schema\/person\/6d69b968cad0102e30d6694ed8dc6427","name":"admin"}]}},"_links":{"self":[{"href":"https:\/\/www.sqlitetutorial.net\/wp-json\/wp\/v2\/pages\/1728","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.sqlitetutorial.net\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.sqlitetutorial.net\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.sqlitetutorial.net\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.sqlitetutorial.net\/wp-json\/wp\/v2\/comments?post=1728"}],"version-history":[{"count":1,"href":"https:\/\/www.sqlitetutorial.net\/wp-json\/wp\/v2\/pages\/1728\/revisions"}],"predecessor-version":[{"id":3185,"href":"https:\/\/www.sqlitetutorial.net\/wp-json\/wp\/v2\/pages\/1728\/revisions\/3185"}],"up":[{"embeddable":true,"href":"https:\/\/www.sqlitetutorial.net\/wp-json\/wp\/v2\/pages\/1659"}],"wp:attachment":[{"href":"https:\/\/www.sqlitetutorial.net\/wp-json\/wp\/v2\/media?parent=1728"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}