blob: d03554fd9180bc4d15c4956f8cceefe85a5be299 [file] [log] [blame]
<!doctype html><html lang=en-US dir=ltr class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-query-data/window-function" data-has-hydrated=false><meta charset=UTF-8><meta name=generator content="Docusaurus v3.6.3"><title data-rh=true>Window Function - Apache Doris</title><meta data-rh=true name=viewport content="width=device-width,initial-scale=1.0"><meta data-rh=true name=twitter:card content=summary_large_image><meta data-rh=true property=og:url content=https://doris.apache.org/docs/dev/query-data/window-function/><meta data-rh=true property=og:locale content=en_US><meta data-rh=true property=og:locale:alternate content=zh_Hans-CN><meta data-rh=true name=docusaurus_locale content=en><meta data-rh=true name=docsearch:language content=en><meta data-rh=true name=docusaurus_version content=current><meta data-rh=true name=docusaurus_tag content=docs-default-current><meta data-rh=true name=docsearch:version content=current><meta data-rh=true name=docsearch:docusaurus_tag content=docs-default-current><meta data-rh=true property=og:title content="Window Function - Apache Doris"><meta data-rh=true name=description content="Analytic functions, also known as window functions, are functions in SQL queries that perform complex calculations on rows in a data set."><meta data-rh=true property=og:description content="Analytic functions, also known as window functions, are functions in SQL queries that perform complex calculations on rows in a data set."><link data-rh=true rel=icon href=/images/favicon.ico><link data-rh=true rel=canonical href=https://doris.apache.org/docs/dev/query-data/window-function/><link data-rh=true rel=alternate href=https://doris.apache.org/docs/dev/query-data/window-function/ hreflang=en-US><link data-rh=true rel=alternate href=https://doris.apache.org/zh-CN/docs/dev/query-data/window-function/ hreflang=zh-Hans-CN><link data-rh=true rel=alternate href=https://doris.apache.org/docs/dev/query-data/window-function/ hreflang=x-default><link rel=alternate type=application/rss+xml href=/blog/rss.xml title="Apache Doris RSS Feed"><link rel=alternate type=application/atom+xml href=/blog/atom.xml title="Apache Doris Atom Feed"><link rel=preconnect href=https://analytics.apache.org/><script>var _paq=window._paq=window._paq||[];_paq.push(["setRequestMethod","POST"]),_paq.push(["trackPageView"]),_paq.push(["enableLinkTracking"]),_paq.push(["enableHeartBeatTimer"]),function(){var e="https://analytics.apache.org/";_paq.push(["setRequestMethod","POST"]),_paq.push(["setTrackerUrl",e+"matomo.php"]),_paq.push(["setSiteId","43"]);var a=document,t=a.createElement("script"),p=a.getElementsByTagName("script")[0];t.type="text/javascript",t.async=!0,t.src=e+"matomo.js",p.parentNode.insertBefore(t,p)}()</script><link rel=stylesheet href=/css/katex.min.css><script src=/js/custom-script.js></script><script async src=https://widget.kapa.ai/kapa-widget.bundle.js data-website-id=a5fb90df-217a-4097-95c0-80490220314b data-modal-title="Apache Doris AI" data-project-name="Apache Doris Website" data-button-hide=true data-modal-override-open-selector=#navbar-ask-ai-btn data-project-logo=https://cdn.selectdb.com/static/doris_1_3c42247c63.png data-modal-image=https://cdn.selectdb.com/static/doris_logo_cc5a30d886.png data-project-color=#11A679 data-modal-disclaimer="This is a custom LLM with access to all [Doris documentation](https://doris.apache.org/docs/4.x/gettingStarted/what-is-apache-doris)." data-consent-required data-consent-screen-disclaimer="By clicking &amp;quot;I agree, let's chat&amp;quot;, you consent to the use of the AI assistant in accordance with kapa.ai's [Privacy Policy](https://www.kapa.ai/content/privacy-policy). This service uses reCAPTCHA, which requires your consent to Google's [Privacy Policy](https://policies.google.com/privacy) and [Terms of Service](https://policies.google.com/terms). By proceeding, you explicitly agree to both kapa.ai's and Google's privacy policies." data-bot-protection-mechanism=hcaptcha></script><link rel=stylesheet href=/assets/css/styles.f30bdf48.css><script src=/assets/js/runtime~main.c12af4a7.js defer></script><script src=/assets/js/main.418a1c31.js defer></script><body class=navigation-with-keyboard><script>!function(){var t,e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t=null!==e?e:"light",document.documentElement.setAttribute("data-theme",t)}(),function(){try{for(var[t,e]of new URLSearchParams(window.location.search).entries())if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id=__docusaurus><div role=region aria-label="Skip to main content"><a class=skipToContent_fXgn href=#__docusaurus_skipToContent_fallback>Skip to main content</a></div><nav aria-label=Main class="navbar navbar--fixed-top"><div class=navbar__inner><div class=navbar__items><div class=navbar-left><div class="navbar-logo-wrapper flex items-center"><div class="cursor-pointer docs"><svg width=236 height=36 fill=none viewBox="0 0 236 36"><path fill=#0DBE85 d="M16.327 5.505 12.422 1.6C11.386.565 9.975 0 8.61 0 7.34 0 6.07.47 5.082 1.412c-.989.988-1.553 2.258-1.553 3.67s.517 2.682 1.505 3.67l7.105 7.104c.283.283.8.283 1.13 0l3.058-3.058c.188-.235 3.435-3.905 0-7.293M22.773 11.763c-.753-.706-1.506-1.459-2.211-2.306l-.047-.047c0 .047-.047.141-.047.236q-.425 2.54-2.4 4.516c-4.14 4.094-8.328 8.329-12.375 12.375l-.517.518c-.941.94-1.459 1.929-1.6 2.917-.188 1.505.33 3.2 1.459 4.423.988 1.082 2.305 1.646 3.717 1.6 1.6.047 2.4-.189 3.576-1.318 4.705-4.611 9.41-9.27 12.986-12.798 1.694-1.694 2.07-4.423.894-6.305-.988-1.458-2.212-2.635-3.435-3.811M0 9.316v17.362c0 .47.33.753.612.894a.89.89 0 0 0 1.035-.188l8.751-8.752c.33-.329.33-.894 0-1.27L1.647 8.61a1.02 1.02 0 0 0-.659-.282.9.9 0 0 0-.376.094C.329 8.563 0 8.846 0 9.316"/><path fill=#18201D d="M78.322 25.684q-1.258 0-2.256-.419-.997-.44-1.577-1.198a3.24 3.24 0 0 1-.638-1.776h1.876q.08.819.758 1.337.698.52 1.817.52 1.037 0 1.636-.46.6-.46.599-1.157 0-.72-.639-1.058-.638-.36-1.976-.699-1.217-.319-1.996-.638a3.8 3.8 0 0 1-1.317-.978q-.54-.66-.539-1.717 0-.838.5-1.537.498-.698 1.416-1.097.917-.42 2.096-.42 1.816 0 2.934.918 1.118.919 1.197 2.515h-1.816q-.06-.857-.698-1.377-.62-.519-1.677-.519-.977 0-1.557.42-.579.419-.579 1.097 0 .54.34.898.36.34.878.56.54.198 1.477.458 1.178.32 1.916.639.738.3 1.257.918.54.618.56 1.617 0 .897-.5 1.616-.499.72-1.417 1.138-.898.4-2.076.4"/><path fill=#18201D d="m75.885 22.117.015.157c.049.495.276.898.691 1.216.428.317.993.483 1.71.483v.174l-.138-.002q-1.023-.03-1.678-.517-.678-.518-.758-1.337H73.85q.06.998.64 1.776.577.759 1.576 1.198.935.393 2.099.417l.156.002q1.178 0 2.076-.4.918-.418 1.417-1.137a2.77 2.77 0 0 0 .499-1.616q-.02-.999-.559-1.617a3.2 3.2 0 0 0-1.257-.918q-.646-.28-1.629-.559l-.287-.08a19 19 0 0 1-1.477-.459 2.9 2.9 0 0 1-.878-.559 1.26 1.26 0 0 1-.34-.898q0-.636.509-1.044l.07-.053q.579-.42 1.557-.42l.13.002q.966.03 1.546.517.619.503.695 1.324l.004.053h1.816q-.077-1.546-1.128-2.456l-.07-.059q-1.116-.917-2.933-.918-1.178 0-2.096.42-.918.4-1.417 1.097l-.06.088a2.57 2.57 0 0 0-.439 1.45l.002.13q.032.968.537 1.586a3.8 3.8 0 0 0 1.317.978q.78.319 1.996.638 1.337.34 1.976.699.639.34.639 1.058 0 .698-.6 1.157-.597.46-1.636.46v-.175c.668 0 1.172-.148 1.53-.423.36-.276.531-.613.531-1.02a1 1 0 0 0-.134-.533 1 1 0 0 0-.412-.37l-.004-.002c-.405-.228-1.046-.456-1.933-.681h-.001q-1.225-.322-2.018-.647h-.003l-.002-.002a4 4 0 0 1-1.377-1.022l-.002-.003-.002-.002c-.39-.477-.579-1.091-.579-1.827q.001-.895.532-1.638c.353-.495.852-.879 1.486-1.155q.96-.436 2.169-.435c1.24 0 2.26.314 3.045.958.787.646 1.205 1.533 1.26 2.64l.01.184h-2.163l-.011-.163c-.037-.526-.248-.94-.635-1.253l-.002-.002c-.372-.312-.887-.478-1.564-.478-.629 0-1.108.135-1.454.386-.344.248-.507.563-.507.956 0 .318.098.572.29.776q.33.31.818.52.528.194 1.457.452 1.182.32 1.936.645.778.315 1.324.965c.392.45.588 1.031.602 1.728v.004q0 .951-.53 1.716-.532.761-1.489 1.197h-.001q-.939.416-2.147.415-1.287.001-2.323-.433h-.001l-.001-.001q-1.035-.454-1.646-1.252v-.001a3.4 3.4 0 0 1-.674-1.87l-.011-.186zM70.476 12.79q-.52 0-.879-.358-.36-.36-.359-.879 0-.519.36-.878.359-.36.877-.36.5 0 .839.36.36.36.36.878 0 .52-.36.878-.34.36-.838.36m.878 1.777v10.938h-1.817V14.567z"/><path fill=#18201D d="M71.354 14.567h-1.817v10.937h1.817zm.319-3.014q0-.519-.36-.878a1.1 1.1 0 0 0-.776-.358l-.062-.001q-.518 0-.878.36l-.043.045q-.316.346-.316.832l.002.064q.021.478.357.814.337.337.814.358l.064.002q.5 0 .839-.36.336-.336.358-.813zm-.145 14.126h-2.165V14.393h2.165zm.32-14.126c0 .39-.137.726-.407.998-.26.275-.585.414-.966.414a1.37 1.37 0 0 1-1.001-.41 1.37 1.37 0 0 1-.41-1.002c0-.39.137-.728.41-1.001a1.37 1.37 0 0 1 1.001-.41c.38 0 .706.138.966.413.27.273.407.609.407.998M63.908 16.343a3.5 3.5 0 0 1 1.358-1.457q.897-.519 2.175-.518v1.876h-.479q-3.054 0-3.054 3.313v5.948h-1.816V14.567h1.816z"/><path fill=#18201D d="M63.908 19.557q0-3.262 2.96-3.312l.094-.001h.479v-1.877q-1.278 0-2.175.52a3.5 3.5 0 0 0-1.358 1.456v-1.776h-1.816v10.937h1.816zm.175-3.831q.441-.605 1.094-.99h.001c.63-.365 1.388-.543 2.263-.543h.175v2.225h-.654c-.987 0-1.697.267-2.162.772-.468.508-.717 1.286-.717 2.367v6.122h-2.166V14.393h2.166zM54.096 25.684q-1.537 0-2.794-.698a5.1 5.1 0 0 1-1.956-1.976q-.699-1.297-.699-2.994 0-1.676.718-2.954.74-1.298 1.996-1.976 1.258-.699 2.815-.699t2.814.699a4.9 4.9 0 0 1 1.976 1.956q.738 1.277.738 2.974 0 1.696-.758 2.994a5.14 5.14 0 0 1-2.016 1.976q-1.277.698-2.834.698m0-1.597q.978 0 1.836-.459t1.377-1.377q.54-.918.539-2.235 0-1.317-.519-2.236-.519-.918-1.357-1.357a3.7 3.7 0 0 0-1.816-.459 3.76 3.76 0 0 0-1.837.46q-.818.438-1.317 1.356-.5.918-.499 2.236 0 1.337.48 2.255.498.918 1.316 1.377.819.44 1.797.44"/><path fill=#18201D d="M59.704 20.016q0-1.696-.738-2.974a4.9 4.9 0 0 0-1.898-1.913l-.078-.043q-1.258-.699-2.815-.699t-2.814.699q-1.257.678-1.995 1.976-.72 1.277-.72 2.954 0 1.696.7 2.994a5.1 5.1 0 0 0 1.956 1.976q1.218.676 2.698.697l.096.001q1.508 0 2.754-.655l.08-.043a5.14 5.14 0 0 0 2.016-1.976q.735-1.256.757-2.889zm-2.03 0c0-.856-.17-1.57-.497-2.15q-.497-.877-1.286-1.288h-.002l-.001-.002a3.55 3.55 0 0 0-1.732-.437q-.955 0-1.753.437l-.001.001c-.512.275-.928.7-1.246 1.287-.316.58-.478 1.295-.478 2.152 0 .87.156 1.593.459 2.174q.478.876 1.248 1.306a3.57 3.57 0 0 0 1.71.417v.174l-.12-.001a3.7 3.7 0 0 1-1.676-.438q-.818-.459-1.317-1.377-.48-.918-.479-2.255 0-1.276.468-2.178l.031-.058q.483-.89 1.267-1.329l.05-.028a3.76 3.76 0 0 1 1.837-.459l.121.002q.908.027 1.695.457.838.439 1.357 1.358.519.917.519 2.235t-.539 2.235q-.519.918-1.377 1.377l-.108.056a3.8 3.8 0 0 1-1.728.403v-.174a3.66 3.66 0 0 0 1.754-.439q.81-.432 1.307-1.309l.002-.002c.34-.58.514-1.293.514-2.147m2.205 0q0 1.737-.782 3.081a5.3 5.3 0 0 1-2.083 2.042q-1.32.72-2.918.72-1.579 0-2.88-.72v-.001a5.25 5.25 0 0 1-2.023-2.043v-.001l-.001-.002q-.721-1.34-.72-3.076 0-1.716.741-3.04.763-1.34 2.065-2.044 1.3-.72 2.898-.72 1.596 0 2.897.72l.08.045a5.1 5.1 0 0 1 1.964 1.978l.047.083q.716 1.295.715 2.978M39.545 11.593q2.276 0 3.932.858 1.677.84 2.555 2.415.898 1.578.898 3.713 0 2.136-.898 3.712-.879 1.557-2.555 2.395-1.656.819-3.932.819h-4.331V11.593zm0 12.415q2.694 0 4.112-1.418 1.417-1.436 1.417-4.011 0-2.594-1.437-4.052-1.417-1.457-4.092-1.457H37.03v10.938z"/><path fill=#18201D d="M46.93 18.579q0-2.136-.898-3.713-.879-1.576-2.555-2.415-1.656-.858-3.932-.858v-.175q2.308-.002 4.01.877l.107.055q1.644.857 2.521 2.43.924 1.624.922 3.799.002 2.174-.921 3.798-.907 1.605-2.629 2.465-1.702.838-4.01.837h-4.506V11.42h4.506v.174h-4.331v13.912h4.331l.142-.001q2.114-.024 3.686-.768l.104-.05q1.677-.838 2.555-2.395.87-1.527.897-3.58zm-2.031 0c0-1.697-.47-2.999-1.387-3.93l-.086-.086c-.9-.871-2.184-1.318-3.881-1.318h-2.34v10.588h2.34v.175H37.03V13.07h2.515q2.675 0 4.091 1.457 1.438 1.457 1.438 4.052l-.002.16q-.042 2.46-1.415 3.851-1.418 1.418-4.112 1.418v-.175c1.766 0 3.086-.464 3.988-1.366.904-.917 1.366-2.205 1.366-3.888"/><path fill=#252C2A d="M231.309 14.724q1.8 0 2.916 1.098 1.116 1.08 1.116 3.132v5.814h-1.62v-5.58q0-1.476-.738-2.25-.738-.792-2.016-.792-1.296 0-2.07.81-.756.81-.756 2.358v5.454h-1.638v-9.864h1.638v1.404a3.27 3.27 0 0 1 1.314-1.17 4.16 4.16 0 0 1 1.854-.414M219.363 24.93q-1.386 0-2.52-.63a4.6 4.6 0 0 1-1.764-1.782q-.63-1.17-.63-2.7 0-1.512.648-2.664a4.5 4.5 0 0 1 1.8-1.782q1.134-.63 2.538-.63t2.538.63q1.134.612 1.782 1.764.666 1.152.666 2.682t-.684 2.7a4.63 4.63 0 0 1-1.818 1.782q-1.152.63-2.556.63m0-1.44q.882 0 1.656-.414t1.242-1.242q.486-.828.486-2.016t-.468-2.016-1.224-1.224a3.36 3.36 0 0 0-1.638-.414q-.9 0-1.656.414-.738.396-1.188 1.224t-.45 2.016q0 1.206.432 2.034.45.828 1.188 1.242a3.4 3.4 0 0 0 1.62.396M211.549 13.302q-.468 0-.792-.324a1.08 1.08 0 0 1-.324-.792q0-.468.324-.792t.792-.324q.45 0 .756.324.324.324.324.792t-.324.792a1 1 0 0 1-.756.324m.792 1.602v9.864h-1.638v-9.864zM206.217 16.254v5.814q0 .72.306 1.026.306.288 1.062.288h1.206v1.386h-1.476q-1.368 0-2.052-.63t-.684-2.07v-5.814h-1.278v-1.35h1.278V12.42h1.638v2.484h2.574v1.35zM191.514 19.8q0-1.512.612-2.646a4.45 4.45 0 0 1 1.674-1.782q1.08-.63 2.394-.63 1.296 0 2.25.558t1.422 1.404v-1.8h1.656v9.864h-1.656v-1.836q-.486.864-1.458 1.44-.954.558-2.232.558-1.314 0-2.376-.648t-1.674-1.818-.612-2.664m8.352.018q0-1.116-.45-1.944a3.1 3.1 0 0 0-1.224-1.26 3.2 3.2 0 0 0-1.674-.45q-.918 0-1.674.432a3.13 3.13 0 0 0-1.206 1.26q-.45.828-.45 1.944 0 1.134.45 1.98.45.828 1.206 1.278a3.3 3.3 0 0 0 1.674.432q.918 0 1.674-.432.774-.45 1.224-1.278.45-.846.45-1.962M187.64 16.254v5.814q0 .72.306 1.026.306.288 1.062.288h1.206v1.386h-1.476q-1.368 0-2.052-.63t-.684-2.07v-5.814h-1.278v-1.35h1.278V12.42h1.638v2.484h2.574v1.35zM179.007 14.724q1.8 0 2.916 1.098 1.116 1.08 1.116 3.132v5.814h-1.62v-5.58q0-1.476-.738-2.25-.738-.792-2.016-.792-1.296 0-2.07.81-.756.81-.756 2.358v5.454h-1.638v-9.864h1.638v1.404a3.27 3.27 0 0 1 1.314-1.17 4.16 4.16 0 0 1 1.854-.414M172.11 19.458q0 .468-.054.99h-7.884q.09 1.458.99 2.286.918.81 2.214.81 1.062 0 1.764-.486.72-.504 1.008-1.332h1.764a4.3 4.3 0 0 1-1.584 2.322q-1.188.882-2.952.882-1.404 0-2.52-.63a4.5 4.5 0 0 1-1.728-1.782q-.63-1.17-.63-2.7t.612-2.682a4.25 4.25 0 0 1 1.71-1.764q1.116-.63 2.556-.63 1.404 0 2.484.612t1.656 1.692q.594 1.062.594 2.412m-1.692-.342q0-.936-.414-1.602a2.6 2.6 0 0 0-1.134-1.026q-.702-.36-1.566-.36-1.242 0-2.124.792-.864.792-.99 2.196zM156.499 14.724q1.152 0 2.052.486.9.468 1.422 1.422t.522 2.322v5.814h-1.62v-5.58q0-1.476-.738-2.25-.72-.792-1.962-.792-1.278 0-2.034.828-.756.81-.756 2.358v5.436h-1.62v-5.58q0-1.476-.738-2.25-.72-.792-1.962-.792-1.278 0-2.034.828-.756.81-.756 2.358v5.436h-1.638v-9.864h1.638v1.422a3.25 3.25 0 0 1 1.296-1.188 4 4 0 0 1 1.818-.414q1.242 0 2.196.558t1.422 1.638a3.24 3.24 0 0 1 1.368-1.62 4.03 4.03 0 0 1 2.124-.576M141.944 14.904v9.864h-1.638V23.31q-.468.756-1.314 1.188a4.05 4.05 0 0 1-1.836.414q-1.152 0-2.07-.468a3.6 3.6 0 0 1-1.458-1.44q-.522-.954-.522-2.322v-5.778h1.62v5.562q0 1.458.738 2.25.738.774 2.016.774 1.314 0 2.07-.81t.756-2.358v-5.418zM121.722 19.818q0-1.53.612-2.664a4.4 4.4 0 0 1 1.692-1.782q1.098-.63 2.502-.63 1.818 0 2.988.882 1.188.882 1.566 2.448h-1.764a2.52 2.52 0 0 0-.99-1.422q-.72-.522-1.8-.522-1.404 0-2.268.972-.864.954-.864 2.718 0 1.782.864 2.754t2.268.972q1.08 0 1.8-.504t.99-1.44h1.764q-.396 1.512-1.584 2.43-1.188.9-2.97.9-1.404 0-2.502-.63a4.4 4.4 0 0 1-1.692-1.782q-.612-1.152-.612-2.7M115.194 24.93q-1.386 0-2.52-.63a4.6 4.6 0 0 1-1.764-1.782q-.63-1.17-.63-2.7 0-1.512.648-2.664a4.5 4.5 0 0 1 1.8-1.782q1.134-.63 2.538-.63t2.538.63q1.134.612 1.782 1.764.666 1.152.666 2.682t-.684 2.7a4.63 4.63 0 0 1-1.818 1.782q-1.152.63-2.556.63m0-1.44q.882 0 1.656-.414t1.242-1.242q.486-.828.486-2.016t-.468-2.016-1.224-1.224a3.36 3.36 0 0 0-1.638-.414q-.9 0-1.656.414-.738.396-1.188 1.224t-.45 2.016q0 1.206.432 2.034.45.828 1.188 1.242a3.4 3.4 0 0 0 1.62.396M102.144 12.222q2.052 0 3.546.774 1.512.756 2.304 2.178.81 1.422.81 3.348t-.81 3.348q-.792 1.404-2.304 2.16-1.494.738-3.546.738h-3.906V12.222zm0 11.196q2.43 0 3.708-1.278 1.278-1.296 1.278-3.618 0-2.34-1.296-3.654-1.278-1.314-3.69-1.314h-2.268v9.864z"/></svg></div></div><div class=undefined><div class="docs-search navbarSearchContainer_dCNk"><div class="navbar__search searchBarContainer_PzyC" dir=ltr><input placeholder=Search aria-label=Search class=navbar__search-input value=""><div class="loadingRing__K5d searchBarLoadingRing_e2f0"><div></div><div></div><div></div><div></div></div></div></div></div></div></div><div class="navbar__items navbar__items--right"><button class="rounded-full flex items-center gap-x-2 px-4 py-[5px] border border-primary bg-[#F0FFF7] text-[1rem]/[1.625rem] font-medium text-[#1D1D1D]" id=navbar-ask-ai-btn><svg width=18 height=18 viewBox="0 0 18 18" fill=none><path d="M7.35457 0.574461C7.42306 0.423027 7.5322 0.292956 7.67018 0.198317C7.80816 0.103677 7.96974 0.04807 8.13742 0.037509C8.30511 0.026948 8.47253 0.0618351 8.62158 0.138397C8.77063 0.21496 8.89564 0.330283 8.98308 0.471896L9.03778 0.574461L9.98672 2.68378C10.8161 4.52515 12.1952 6.07276 13.9397 7.11968L14.2337 7.28972L15.9197 8.2263C16.0536 8.30049 16.1666 8.40653 16.2484 8.53479C16.3302 8.66304 16.3783 8.80945 16.3882 8.96069C16.3981 9.11194 16.3696 9.26323 16.3052 9.40083C16.2408 9.53842 16.1426 9.65796 16.0195 9.74857L15.921 9.81064L14.2337 10.7472C12.454 11.7355 11.0224 13.2365 10.1303 15.0495L9.98672 15.3532L9.03641 17.4625C8.96778 17.6136 8.85866 17.7433 8.72081 17.8377C8.58296 17.9321 8.42162 17.9876 8.25418 17.9982C8.08674 18.0087 7.91956 17.9739 7.77066 17.8976C7.62177 17.8213 7.49681 17.7063 7.40926 17.565L7.35457 17.4625L6.40426 15.3532C5.57484 13.5118 4.19572 11.9643 2.45124 10.9173L2.15726 10.7472L0.471311 9.81064C0.337321 9.73674 0.224189 9.63093 0.142217 9.50285C0.0602439 9.37477 0.0120344 9.22849 0.00197753 9.07732C-0.00807937 8.92615 0.0203358 8.7749 0.0846359 8.63734C0.148936 8.49978 0.247078 8.38028 0.370127 8.28972L0.468577 8.22765L2.15589 7.29107C3.93569 6.30285 5.36732 4.80183 6.25932 2.98877L6.40289 2.68513L7.3532 0.57581L7.35457 0.574461ZM15.6899 0.130465C16.1425 1.14532 16.9145 1.98914 17.8914 2.53668C17.9244 2.55517 17.9518 2.58196 17.9709 2.61432C17.9899 2.64668 18 2.68345 18 2.72089C18 2.75833 17.9899 2.7951 17.9709 2.82745C17.9518 2.85981 17.9244 2.8866 17.8914 2.9051C16.9145 3.45264 16.1425 4.29645 15.6899 5.31131C15.6731 5.3501 15.645 5.38315 15.6093 5.40638C15.5736 5.4296 15.5317 5.44198 15.4889 5.44198C15.4462 5.44198 15.4043 5.4296 15.3686 5.40638C15.3329 5.38315 15.3048 5.3501 15.2879 5.31131C14.8352 4.29695 14.0632 3.45364 13.0865 2.90645C13.0532 2.88805 13.0255 2.86122 13.0062 2.82872C12.9869 2.79622 12.9767 2.75923 12.9767 2.72156C12.9767 2.68389 12.9869 2.6469 13.0062 2.6144C13.0255 2.58191 13.0532 2.55508 13.0865 2.53668C14.0636 1.98879 14.8357 1.14448 15.2879 0.129116C15.305 0.0907214 15.3331 0.0580664 15.3686 0.035138C15.4042 0.0122096 15.4458 0 15.4883 0C15.5308 0 15.5723 0.0122096 15.6079 0.035138C15.6435 0.0580664 15.6715 0.0907214 15.6886 0.129116V0.130465H15.6899Z" fill=#11A679 /></svg>Ask AI</button><div class="navbar__item dropdown dropdown--hoverable dropdown--right"><a href=# aria-haspopup=true aria-expanded=false role=button class=navbar__link><svg class=icon-language width=16 height=16 viewBox="0 0 16 16" fill=none><path d="M7.75756 14.3L10.5816 6.91667H11.8759L14.7 14.3H13.4057L12.7501 12.4167H9.74113L9.06873 14.3H7.75756ZM10.1109 11.35H12.3467L11.254 8.3H11.2036L10.1109 11.35ZM2.84908 12.45L1.97498 11.5833L5.11841 8.48333C4.72618 8.05 4.38439 7.60267 4.09302 7.14133C3.80165 6.68044 3.54389 6.19444 3.31976 5.68333H4.61412C4.80463 6.06111 5.00635 6.39711 5.21927 6.69133C5.43219 6.986 5.68434 7.29444 5.97571 7.61667C6.43519 7.12778 6.81621 6.62511 7.11879 6.10867C7.42137 5.59178 7.67352 5.03889 7.87523 4.45H1V3.23333H5.33694V2H6.58087V3.23333H10.9178V4.45H9.11916C8.89503 5.18333 8.59805 5.89155 8.22824 6.57467C7.85842 7.25822 7.39895 7.90555 6.84983 8.51667L8.3459 10.0167L7.87523 11.2833L5.95891 9.38333L2.84908 12.45Z" fill=#4C576C /></svg></a><ul class=dropdown__menu><li><a href=/docs/dev/query-data/window-function/ rel="noopener noreferrer" class="dropdown__link dropdown__link--active" lang=en-US>English</a><li><a href=/zh-CN/docs/dev/query-data/window-function/ rel="noopener noreferrer" class=dropdown__link lang=zh-Hans-CN>中文</a></ul></div><div class="navbar__item dropdown dropdown--hoverable dropdown--right"><a aria-current=page class="navbar__link active" aria-haspopup=true aria-expanded=false role=button href=/docs/dev/query-data/window-function/><span class=text-sm>Versions: <!-- -->Dev</span></a><ul class=dropdown__menu><li><a class=dropdown__link href=/docs/4.x/query-data/window-function/>4.x</a><li><a class=dropdown__link href=/docs/3.x/query-data/window-function/>3.x</a><li><a class=dropdown__link href=/docs/2.1/query-data/window-function/>2.1</a><li><a aria-current=page class="dropdown__link dropdown__link--active" href=/docs/dev/query-data/window-function/>Dev</a><li><a class=dropdown__link href=/archive-docs/>Archived</a></ul></div><button aria-label="Toggle navigation bar" aria-expanded=false class="navbar__toggle clean-btn" type=button><svg width=30 height=30 viewBox="0 0 30 30" aria-hidden=true><path stroke=currentColor stroke-linecap=round stroke-miterlimit=10 stroke-width=2 d="M4 7h22M4 15h22M4 23h22"/></svg></button><a class="header-right-button-primary navbar-download-desktop font-medium" href=/download/>Download</a></div></div><div class=navbar__bottom><div class=docs-nav-version-locale><div class="navbar__item dropdown dropdown--hoverable dropdown--right"><a href=# aria-haspopup=true aria-expanded=false role=button class=navbar__link type=localeDropdown><svg class=icon-language width=16 height=16 viewBox="0 0 16 16" fill=none><path d="M7.75756 14.3L10.5816 6.91667H11.8759L14.7 14.3H13.4057L12.7501 12.4167H9.74113L9.06873 14.3H7.75756ZM10.1109 11.35H12.3467L11.254 8.3H11.2036L10.1109 11.35ZM2.84908 12.45L1.97498 11.5833L5.11841 8.48333C4.72618 8.05 4.38439 7.60267 4.09302 7.14133C3.80165 6.68044 3.54389 6.19444 3.31976 5.68333H4.61412C4.80463 6.06111 5.00635 6.39711 5.21927 6.69133C5.43219 6.986 5.68434 7.29444 5.97571 7.61667C6.43519 7.12778 6.81621 6.62511 7.11879 6.10867C7.42137 5.59178 7.67352 5.03889 7.87523 4.45H1V3.23333H5.33694V2H6.58087V3.23333H10.9178V4.45H9.11916C8.89503 5.18333 8.59805 5.89155 8.22824 6.57467C7.85842 7.25822 7.39895 7.90555 6.84983 8.51667L8.3459 10.0167L7.87523 11.2833L5.95891 9.38333L2.84908 12.45Z" fill=#4C576C /></svg></a><ul class=dropdown__menu><li><a href=/docs/dev/query-data/window-function/ rel="noopener noreferrer" class="dropdown__link dropdown__link--active" lang=en-US>English</a><li><a href=/zh-CN/docs/dev/query-data/window-function/ rel="noopener noreferrer" class=dropdown__link lang=zh-Hans-CN>中文</a></ul></div><div class="navbar__item dropdown dropdown--hoverable dropdown--right"><a aria-current=page class="navbar__link active" aria-haspopup=true aria-expanded=false role=button type=docsVersionDropdown href=/docs/dev/query-data/window-function/><span class=text-sm>Versions: <!-- -->Dev</span></a><ul class=dropdown__menu><li><a class=dropdown__link href=/docs/4.x/query-data/window-function/>4.x</a><li><a class=dropdown__link href=/docs/3.x/query-data/window-function/>3.x</a><li><a class=dropdown__link href=/docs/2.1/query-data/window-function/>2.1</a><li><a aria-current=page class="dropdown__link dropdown__link--active" href=/docs/dev/query-data/window-function/>Dev</a><li><a class=dropdown__link href=/archive-docs/>Archived</a></ul></div></div></div><div role=presentation class=navbar-sidebar__backdrop></div></nav><div id=__docusaurus_skipToContent_fallback class="main-wrapper mainWrapper_eExm"><div class=docsWrapper_hBAB><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type=button></button><div class=docRoot_UBD9><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class=sidebarViewport_aRkj><div class=sidebar_mhZE><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_Y1UP menuWithAnnouncementBar_fPny"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist menu__link--sublist-caret" role=button aria-expanded=true href=/docs/dev/gettingStarted/what-is-apache-doris/>Getting Started</a></div><ul style=display:block;overflow:visible;height:auto class="menu__list menu__list_level_2 community_level_2"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link length=3 tabindex=0 href=/docs/dev/gettingStarted/what-is-apache-doris/>Introduction to Apache Doris</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link length=3 tabindex=0 href=/docs/dev/gettingStarted/quick-start/>Quick Start</a><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist menu__link--sublist-caret" role=button aria-expanded=false tabindex=0 href=/docs/dev/gettingStarted/alternatives/alternative-to-clickhouse/>Tech Alternatives</a></div></ul><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" role=button aria-expanded=true href=/docs/dev/install/preparation/env-checking/>Guides</a></div><ul style=display:block;overflow:visible;height:auto class="menu__list menu__list_level_2 community_level_2"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist menu__link--sublist-caret" role=button aria-expanded=false tabindex=0 href=/docs/dev/install/preparation/env-checking/>Installation and Deployment</a></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist menu__link--sublist-caret" role=button aria-expanded=false tabindex=0 href=/docs/dev/db-connect/database-connect/>Database Connection</a></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist menu__link--sublist-caret" role=button aria-expanded=false tabindex=0 href=/docs/dev/table-design/overview/>Data Table Design</a></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist menu__link--sublist-caret" role=button aria-expanded=false tabindex=0 href=/docs/dev/data-operate/import/load-manual/>Loading Data</a></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist menu__link--sublist-caret" role=button aria-expanded=false tabindex=0 href=/docs/dev/data-operate/update/update-overview/>Data Update and Delete</a></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist menu__link--sublist-caret" role=button aria-expanded=false tabindex=0 href=/docs/dev/data-operate/export/export-overview/>Exporting Data</a></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" role=button aria-expanded=true tabindex=0 href=/docs/dev/query-data/mysql-compatibility/>Data Queries</a></div><ul style=display:block;overflow:visible;height:auto class=menu__list><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link length=9 tabindex=0 href=/docs/dev/query-data/mysql-compatibility/>MySQL Compatibility</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link length=9 tabindex=0 href=/docs/dev/query-data/join/>Join</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link length=9 tabindex=0 href=/docs/dev/query-data/subquery/>Subquery</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link length=9 tabindex=0 href=/docs/dev/query-data/multi-dimensional-analytics/>Multi-Dimensional Analytics</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current=page length=9 tabindex=0 href=/docs/dev/query-data/window-function/>Window Function</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link length=9 tabindex=0 href=/docs/dev/query-data/cte/>Common Table Expression</a><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist menu__link--sublist-caret" role=button aria-expanded=false tabindex=0 href=/docs/dev/query-data/udf/alias-function/>User Defined Functions</a></div><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link length=9 tabindex=0 href=/docs/dev/query-data/complex-type/>Complex Type</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link length=9 tabindex=0 href=/docs/dev/query-data/lateral-view/>Column to Row (Lateral View)</a></ul><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist menu__link--sublist-caret" role=button aria-expanded=false tabindex=0 href=/docs/dev/query-acceleration/performance-tuning-overview/tuning-overview/>Queries Acceleration</a></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist menu__link--sublist-caret" role=button aria-expanded=false tabindex=0 href=/docs/dev/ai/ai-overview/>AI</a></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist menu__link--sublist-caret" role=button aria-expanded=false tabindex=0 href=/docs/dev/lakehouse/lakehouse-overview/>Data Lakehouse</a></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist menu__link--sublist-caret" role=button aria-expanded=false tabindex=0 href=/docs/dev/observability/overview/>Observability</a></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist menu__link--sublist-caret" role=button aria-expanded=false tabindex=0 href=/docs/dev/compute-storage-decoupled/overview/>Compute-Storage Decoupled</a></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist menu__link--sublist-caret" role=button aria-expanded=false tabindex=0 href=/docs/dev/admin-manual/auth/security-overview/>Security</a></div></ul><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist menu__link--sublist-caret" role=button aria-expanded=true href=/docs/dev/benchmark/ssb/>Benchmark</a></div><ul style=display:block;overflow:visible;height:auto class="menu__list menu__list_level_2 community_level_2"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link length=3 tabindex=0 href=/docs/dev/benchmark/ssb/>Star Schema Benchmark</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link length=3 tabindex=0 href=/docs/dev/benchmark/tpch/>TPC-H Benchmark</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link length=3 tabindex=0 href=/docs/dev/benchmark/tpcds/>TPC-DS Benchmark</a></ul><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist menu__link--sublist-caret" role=button aria-expanded=true href=/docs/dev/admin-manual/cluster-management/upgrade/>Management</a></div><ul style=display:block;overflow:visible;height:auto class="menu__list menu__list_level_2 community_level_2"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist menu__link--sublist-caret" role=button aria-expanded=false tabindex=0 href=/docs/dev/admin-manual/cluster-management/upgrade/>Managing Cluster</a></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist menu__link--sublist-caret" role=button aria-expanded=false tabindex=0 href=/docs/dev/admin-manual/workload-management/workload-management-summary/>Managing Workload</a></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist menu__link--sublist-caret" role=button aria-expanded=false tabindex=0 href=/docs/dev/admin-manual/data-admin/overview/>Managing Disaster Recovery</a></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist menu__link--sublist-caret" role=button aria-expanded=false tabindex=0 href=/docs/dev/admin-manual/log-management/fe-log/>Log Management</a></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist menu__link--sublist-caret" role=button aria-expanded=false tabindex=0 href=/docs/dev/admin-manual/maint-monitor/metrics/>Maintenance</a></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist menu__link--sublist-caret" role=button aria-expanded=false tabindex=0 href=/docs/dev/admin-manual/config/config-dir/>Managing Configuration</a></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist menu__link--sublist-caret" role=button aria-expanded=false tabindex=0 href=/docs/dev/admin-manual/system-tables/overview/>System Tables</a></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist menu__link--sublist-caret" role=button aria-expanded=false tabindex=0 href=/docs/dev/admin-manual/trouble-shooting/memory-management/overview/>Trouble Shooting</a></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist menu__link--sublist-caret" role=button aria-expanded=false tabindex=0 href=/docs/dev/admin-manual/open-api/overview/>OPEN API</a></div></ul><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist menu__link--sublist-caret" role=button aria-expanded=true href=/docs/dev/ecosystem/spark-doris-connector/>Ecosystem</a></div><ul style=display:block;overflow:visible;height:auto class="menu__list menu__list_level_2 community_level_2"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link length=9 tabindex=0 href=/docs/dev/ecosystem/spark-doris-connector/>Spark Doris Connector</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link length=9 tabindex=0 href=/docs/dev/ecosystem/flink-doris-connector/>Flink Doris Connector</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link length=9 tabindex=0 href=/docs/dev/ecosystem/doris-kafka-connector/>Doris Kafka Connector</a><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist menu__link--sublist-caret" role=button aria-expanded=false tabindex=0 href=/docs/dev/ecosystem/doris-operator/doris-operator-overview/>Doris Operator</a></div><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link length=9 tabindex=0 href=/docs/dev/ecosystem/doris-streamloader/>Doris Streamloader</a><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist menu__link--sublist-caret" role=button aria-expanded=false tabindex=0 href=/docs/dev/ecosystem/bi/apache-superset/>BI</a></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist menu__link--sublist-caret" role=button aria-expanded=false tabindex=0 href=/docs/dev/ecosystem/bi/clouddm/>SQL Clients</a></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist menu__link--sublist-caret" role=button aria-expanded=false tabindex=0 href=/docs/dev/ecosystem/observability/logstash/>Observability</a></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist menu__link--sublist-caret" role=button aria-expanded=false tabindex=0 href=/docs/dev/ecosystem/cloudcanal/>More</a></div></ul><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist menu__link--sublist-caret" role=button aria-expanded=true href=/docs/dev/faq/install-faq/>FAQ</a></div><ul style=display:block;overflow:visible;height:auto class="menu__list menu__list_level_2 community_level_2"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link length=7 tabindex=0 href=/docs/dev/faq/install-faq/>Install Error</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link length=7 tabindex=0 href=/docs/dev/faq/data-faq/>Data Operation Error</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link length=7 tabindex=0 href=/docs/dev/faq/sql-faq/>SQL Error</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link length=7 tabindex=0 href=/docs/dev/faq/lakehouse-faq/>Data Lakehouse FAQ</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link length=7 tabindex=0 href=/docs/dev/faq/bi-faq/>BI FAQ</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link length=7 tabindex=0 href=/docs/dev/faq/correctness-faq/>Data Integrity FAQ</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link length=7 tabindex=0 href=/docs/dev/faq/load-faq/>Load FAQ</a></ul><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist menu__link--sublist-caret" role=button aria-expanded=true href=/docs/dev/sql-manual/basic-element/sql-data-types/data-type-overview/>Reference</a></div><ul style=display:block;overflow:visible;height:auto class="menu__list menu__list_level_2 community_level_2"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist menu__link--sublist-caret" role=button aria-expanded=false tabindex=0 href=/docs/dev/sql-manual/basic-element/sql-data-types/data-type-overview/>Basic Elements</a></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist menu__link--sublist-caret" role=button aria-expanded=false tabindex=0 href=/docs/dev/sql-manual/sql-functions/ai-functions/distance-functions/cosine-distance/>SQL Functions</a></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist menu__link--sublist-caret" role=button aria-expanded=false tabindex=0 href=/docs/dev/sql-manual/sql-statements/data-query/SELECT/>SQL Statements</a></div></ul><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist menu__link--sublist-caret" role=button aria-expanded=true href=/docs/dev/releasenotes/all-release/>Releases</a></div><ul style=display:block;overflow:visible;height:auto class="menu__list menu__list_level_2 community_level_2"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link length=8 tabindex=0 href=/docs/dev/releasenotes/all-release/>All Releases</a><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist menu__link--sublist-caret" role=button aria-expanded=false tabindex=0 href=/docs/dev/releasenotes/v4.0/release-4.0.2/>v4.0</a></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist menu__link--sublist-caret" role=button aria-expanded=false tabindex=0 href=/docs/dev/releasenotes/v3.1/release-3.1.4/>v3.1</a></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist menu__link--sublist-caret" role=button aria-expanded=false tabindex=0 href=/docs/dev/releasenotes/v3.0/release-3.0.8/>v3.0</a></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist menu__link--sublist-caret" role=button aria-expanded=false tabindex=0 href=/docs/dev/releasenotes/v2.1/release-2.1.11/>v2.1</a></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist menu__link--sublist-caret" role=button aria-expanded=false tabindex=0 href=/docs/dev/releasenotes/v2.0/release-2.0.15/>v2.0</a></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist menu__link--sublist-caret" role=button aria-expanded=false tabindex=0 href=/docs/dev/releasenotes/v1.2/release-1.2.8/>v1.2</a></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist menu__link--sublist-caret" role=button aria-expanded=false tabindex=0 href=/docs/dev/releasenotes/v1.1/release-1.1.5/>v1.1</a></div></ul></ul></nav></div></div></aside><main class=docMainContainer_TBSr><div class="container padding-top--md padding-bottom--lg"><div class=row><div class="col docItemCol_z5aJ"><div class="theme-doc-version-banner alert alert--warning margin-bottom--md" role=alert><div>This documentation is for an <b>unreleased</b> version of Apache Doris.</div><div class=margin-top--md>For usage, please refer to the official documentation of <b><a href=/docs/4.x/query-data/window-function/>Version 2.1</a></b> or <b><a href=/docs/3.x/gettingStarted/what-is-apache-doris/>Version 3.x</a></b>.</div></div><div class=docItemContainer_c0TR><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label=Breadcrumbs><ul class=breadcrumbs itemscope itemtype=https://schema.org/BreadcrumbList><li class=breadcrumbs__item><a aria-label="Home page" class=breadcrumbs__link href=/><svg viewBox="0 0 24 24" class=breadcrumbHomeIcon_YNFT><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill=currentColor /></svg></a><li class=breadcrumbs__item><span class=breadcrumbs__link>Guides</span><meta itemprop=position content=1><li class=breadcrumbs__item><span class=breadcrumbs__link>Data Queries</span><meta itemprop=position content=2><li itemscope itemprop=itemListElement itemtype=https://schema.org/ListItem class="breadcrumbs__item breadcrumbs__item--active"><span class=breadcrumbs__link itemprop=name>Window Function</span><meta itemprop=position content=3></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_bxCs"><button type=button class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Window Function</h1></header><p>Analytic functions, also known as window functions, are functions in SQL queries that perform complex calculations on rows in a data set. The characteristic of window functions is that they do not reduce the number of rows in the query result, but instead add a new computed result for each row. Window functions are applicable to various analysis scenarios, such as calculating running totals, rankings, and moving averages.
The specific syntax can be <a href=/docs/dev/sql-manual/sql-functions/window-functions/overview/>refer</a></p>
<p>Below is an example of using a window function to calculate the three-day moving average of sales for each store before and after a given date:</p>
<div class="language-sql codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#F8F8F2;--prism-background-color:#282A36><div class=codeBlockContent_biex><pre tabindex=0 class="prism-code language-sql codeBlock_bY9V thin-scrollbar" style=color:#F8F8F2;background-color:#282A36><code class=codeBlockLines_e6Vv><span class=token-line style=color:#F8F8F2><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">CREATE</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">TABLE</span><span class="token plain"> daily_sales </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> store_id </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">INT</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> sales_date </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">DATE</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> sales_amount </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">DECIMAL</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">10</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> PROPERTIES </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string" style="color:rgb(255, 121, 198)">"replication_num"</span><span class="token plain"> </span><span class="token operator">=</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"1"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain" style=display:inline-block></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">INSERT</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">INTO</span><span class="token plain"> daily_sales </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">store_id</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> sales_date</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> sales_amount</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">VALUES</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'2023-01-01'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">100.00</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'2023-01-02'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">150.00</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'2023-01-03'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">200.00</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'2023-01-04'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">250.00</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'2023-01-05'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">300.00</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'2023-01-06'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">350.00</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'2023-01-07'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">400.00</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'2023-01-08'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">450.00</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'2023-01-09'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">500.00</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'2023-01-01'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">110.00</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'2023-01-02'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">160.00</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'2023-01-03'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">210.00</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'2023-01-04'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">260.00</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'2023-01-05'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">310.00</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'2023-01-06'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">360.00</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'2023-01-07'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">410.00</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'2023-01-08'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">460.00</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'2023-01-09'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">510.00</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain" style=display:inline-block></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">SELECT</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> store_id</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> sales_date</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> sales_amount</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">AVG</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">sales_amount</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">OVER</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">PARTITION</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">BY</span><span class="token plain"> store_id </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">ORDER</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">BY</span><span class="token plain"> sales_date </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">ROWS</span><span class="token plain"> </span><span class="token operator">BETWEEN</span><span class="token plain"> </span><span class="token number">3</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">PRECEDING</span><span class="token plain"> </span><span class="token operator">AND</span><span class="token plain"> </span><span class="token number">3</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">FOLLOWING</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">AS</span><span class="token plain"> moving_avg_sales</span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">FROM</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> daily_sales</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class=buttonGroup__atx><button type=button aria-label="Copy code to clipboard" title=Copy class=clean-btn><span class=copyButtonIcons_eSgA aria-hidden=true><svg viewBox="0 0 24 24" class=copyButtonIcon_y97N><path fill=currentColor d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"/></svg><svg viewBox="0 0 24 24" class=copyButtonSuccessIcon_LjdS><path fill=currentColor d=M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z /></svg></span></button></div></div></div>
<p>The query result is as follows:</p>
<div class="language-sql codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#F8F8F2;--prism-background-color:#282A36><div class=codeBlockContent_biex><pre tabindex=0 class="prism-code language-sql codeBlock_bY9V thin-scrollbar" style=color:#F8F8F2;background-color:#282A36><code class=codeBlockLines_e6Vv><span class=token-line style=color:#F8F8F2><span class="token operator">+</span><span class="token comment" style="color:rgb(98, 114, 164)">----------+------------+--------------+------------------+</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">|</span><span class="token plain"> store_id </span><span class="token operator">|</span><span class="token plain"> sales_date </span><span class="token operator">|</span><span class="token plain"> sales_amount </span><span class="token operator">|</span><span class="token plain"> moving_avg_sales </span><span class="token operator">|</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">+</span><span class="token comment" style="color:rgb(98, 114, 164)">----------+------------+--------------+------------------+</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">1</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">2023</span><span class="token operator">-</span><span class="token number">01</span><span class="token operator">-</span><span class="token number">01</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">100.00</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">175.0000</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">1</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">2023</span><span class="token operator">-</span><span class="token number">01</span><span class="token operator">-</span><span class="token number">02</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">150.00</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">200.0000</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">1</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">2023</span><span class="token operator">-</span><span class="token number">01</span><span class="token operator">-</span><span class="token number">03</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">200.00</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">225.0000</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">1</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">2023</span><span class="token operator">-</span><span class="token number">01</span><span class="token operator">-</span><span class="token number">04</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">250.00</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">250.0000</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">1</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">2023</span><span class="token operator">-</span><span class="token number">01</span><span class="token operator">-</span><span class="token number">05</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">300.00</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">300.0000</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">1</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">2023</span><span class="token operator">-</span><span class="token number">01</span><span class="token operator">-</span><span class="token number">06</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">350.00</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">350.0000</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">1</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">2023</span><span class="token operator">-</span><span class="token number">01</span><span class="token operator">-</span><span class="token number">07</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">400.00</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">375.0000</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">1</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">2023</span><span class="token operator">-</span><span class="token number">01</span><span class="token operator">-</span><span class="token number">08</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">450.00</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">400.0000</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">1</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">2023</span><span class="token operator">-</span><span class="token number">01</span><span class="token operator">-</span><span class="token number">09</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">500.00</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">425.0000</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">2</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">2023</span><span class="token operator">-</span><span class="token number">01</span><span class="token operator">-</span><span class="token number">01</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">110.00</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">185.0000</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">2</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">2023</span><span class="token operator">-</span><span class="token number">01</span><span class="token operator">-</span><span class="token number">02</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">160.00</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">210.0000</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">2</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">2023</span><span class="token operator">-</span><span class="token number">01</span><span class="token operator">-</span><span class="token number">03</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">210.00</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">235.0000</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">2</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">2023</span><span class="token operator">-</span><span class="token number">01</span><span class="token operator">-</span><span class="token number">04</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">260.00</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">260.0000</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">2</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">2023</span><span class="token operator">-</span><span class="token number">01</span><span class="token operator">-</span><span class="token number">05</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">310.00</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">310.0000</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">2</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">2023</span><span class="token operator">-</span><span class="token number">01</span><span class="token operator">-</span><span class="token number">06</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">360.00</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">360.0000</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">2</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">2023</span><span class="token operator">-</span><span class="token number">01</span><span class="token operator">-</span><span class="token number">07</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">410.00</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">385.0000</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">2</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">2023</span><span class="token operator">-</span><span class="token number">01</span><span class="token operator">-</span><span class="token number">08</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">460.00</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">410.0000</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">2</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">2023</span><span class="token operator">-</span><span class="token number">01</span><span class="token operator">-</span><span class="token number">09</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">510.00</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">435.0000</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">+</span><span class="token comment" style="color:rgb(98, 114, 164)">----------+------------+--------------+------------------+</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token number">18</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">rows</span><span class="token plain"> </span><span class="token operator">in</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">set</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">0.09</span><span class="token plain"> sec</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><br></span></code></pre><div class=buttonGroup__atx><button type=button aria-label="Copy code to clipboard" title=Copy class=clean-btn><span class=copyButtonIcons_eSgA aria-hidden=true><svg viewBox="0 0 24 24" class=copyButtonIcon_y97N><path fill=currentColor d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"/></svg><svg viewBox="0 0 24 24" class=copyButtonSuccessIcon_LjdS><path fill=currentColor d=M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z /></svg></span></button></div></div></div>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id=introduction-to-basic-concepts>Introduction to Basic Concepts<a href=#introduction-to-basic-concepts class=hash-link aria-label="Direct link to Introduction to Basic Concepts" title="Direct link to Introduction to Basic Concepts"></a></h2>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id=processing-order>Processing Order<a href=#processing-order class=hash-link aria-label="Direct link to Processing Order" title="Direct link to Processing Order"></a></h3>
<p>The processing of queries using analytic functions can be divided into three stages.</p>
<ol>
<li>
<p>Execute all JOIN, WHERE, GROUP BY, and HAVING clauses.</p>
</li>
<li>
<p>Provide the result set to the analytic functions and perform all necessary calculations.</p>
</li>
<li>
<p>If the query ends with an ORDER BY clause, process this clause to achieve precise output sorting.</p>
</li>
</ol>
<p>The processing order of the query is illustrated as follows:</p>
<p><img decoding=async loading=lazy alt="processing order" src=/assets/images/window-function-order-56d1969ee6d25b67878966313d4482c5.png width=2560 height=1280 class=img_ev3q></p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id=result-set-partitioning>Result Set Partitioning<a href=#result-set-partitioning class=hash-link aria-label="Direct link to Result Set Partitioning" title="Direct link to Result Set Partitioning"></a></h3>
<p>Partitions are created after defining groups using the PARTITION BY clause. Analytic functions allow users to divide the query result set into groups of rows called partitions.</p>
<div class="theme-admonition theme-admonition-caution admonition_Gfwi alert alert--warning"><div class=admonitionHeading_f1Ed>Note</div><div class=admonitionContent_UjKb><p>The term "partition" used in analytic functions is unrelated to the table partitioning feature. In this chapter, the term "partition" refers only to its meaning related to analytic functions.</div></div>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id=window>Window<a href=#window class=hash-link aria-label="Direct link to Window" title="Direct link to Window"></a></h3>
<p>For each row in a partition, you can define a sliding data window. This window determines the range of rows involved in performing calculations for the current row. A window has a starting row and an ending row, and depending on its definition, the window can slide at one or both ends. For example ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW, for a cumulative sum function, the starting row is fixed at the first row of its partition, while the ending row slides from the start to the last row of the partition. Conversely ROWS BETWEEN 3 PRECEDING AND 3 FOLLOWING, for a moving average, both the start and end points slide.</p>
<p>The size of the window can be set to be as large as all rows in the partition or as small as a sliding window that only includes one row within the partition. It should be noted that when the window is near the boundaries of the partition, due to boundary restrictions, the range of calculations may be reduced, and the function only returns the computed results of the available rows.</p>
<p>When using window functions, the current row is included in the calculation. Therefore, when processing n items, it should be specified as (n-1). For example, if you need to calculate a five-day average, the window should be specified as "ROWS BETWEEN 4 PRECEDING AND CURRENT ROW," which can also be abbreviated as "ROWS 4 PRECEDING."</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id=current-row>Current Row<a href=#current-row class=hash-link aria-label="Direct link to Current Row" title="Direct link to Current Row"></a></h3>
<p>Each calculation performed using analytic functions is based on the current row within the partition. The current row serves as the reference point for determining the start and end of the window, as illustrated below.</p>
<p>For example ROWS BETWEEN 6 PRECEDING AND 6 FOLLOWING, a window can be used to define a centered moving average calculation that includes the current row, the 6 rows before the current row, and the 6 rows after the current row. This creates a sliding window containing 13 rows.</p>
<p><img decoding=async loading=lazy alt="Current Row" src=/assets/images/window-function-rows-0505d7225ee230aeac864b0754b88270.jpg width=1280 height=640 class=img_ev3q></p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id=sorting-function>Sorting Function<a href=#sorting-function class=hash-link aria-label="Direct link to Sorting Function" title="Direct link to Sorting Function"></a></h2>
<p>In a sorting function, query results are deterministic only when the specified sorting column is unique; if the sorting column contains duplicate values, the query results may vary each time. The more functions can be <a href=/docs/dev/sql-manual/sql-functions/window-functions/overview/>refer</a></p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id=ntile-function>NTILE Function<a href=#ntile-function class=hash-link aria-label="Direct link to NTILE Function" title="Direct link to NTILE Function"></a></h3>
<p>NTILE is a window function in SQL used to divide a query result set into a specified number of buckets (groups) and assign a bucket number to each row. This is particularly useful in data analysis and reporting, especially when data needs to be grouped and sorted.</p>
<p><strong>1. Function Syntax</strong></p>
<div class="language-sql codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#F8F8F2;--prism-background-color:#282A36><div class=codeBlockContent_biex><pre tabindex=0 class="prism-code language-sql codeBlock_bY9V thin-scrollbar" style=color:#F8F8F2;background-color:#282A36><code class=codeBlockLines_e6Vv><span class=token-line style=color:#F8F8F2><span class="token plain">NTILE</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">num_buckets</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">OVER</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">PARTITION</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">BY</span><span class="token plain"> partition_expression</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">ORDER</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">BY</span><span class="token plain"> order_expression</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><br></span></code></pre><div class=buttonGroup__atx><button type=button aria-label="Copy code to clipboard" title=Copy class=clean-btn><span class=copyButtonIcons_eSgA aria-hidden=true><svg viewBox="0 0 24 24" class=copyButtonIcon_y97N><path fill=currentColor d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"/></svg><svg viewBox="0 0 24 24" class=copyButtonSuccessIcon_LjdS><path fill=currentColor d=M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z /></svg></span></button></div></div></div>
<ul>
<li>
<p><code>num_buckets</code>: The number of buckets into which to divide the rows.</p>
</li>
<li>
<p><code>PARTITION BY partition_expression</code> (optional): Defines how to partition the data.</p>
</li>
<li>
<p><code>ORDER BY order_expression</code>: Defines how to sort the data.</p>
</li>
</ul>
<p><strong>2. Using the NTILE Function</strong></p>
<p>Suppose there is a table <code>class_student_scores</code> containing students' exam scores, and you want to divide the students into 4 groups based on their scores, with the number of students in each group being as uniform as possible.</p>
<p>First, create the <code>class_student_scores</code> table and insert data:</p>
<div class="language-sql codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#F8F8F2;--prism-background-color:#282A36><div class=codeBlockContent_biex><pre tabindex=0 class="prism-code language-sql codeBlock_bY9V thin-scrollbar" style=color:#F8F8F2;background-color:#282A36><code class=codeBlockLines_e6Vv><span class=token-line style=color:#F8F8F2><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">CREATE</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">TABLE</span><span class="token plain"> class_student_scores </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> class_id </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">INT</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> student_id </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">INT</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> student_name </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">VARCHAR</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">50</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> score </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">INT</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">distributed</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">by</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">hash</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">student_id</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> properties</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string" style="color:rgb(255, 121, 198)">'replication_num'</span><span class="token operator">=</span><span class="token number">1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain" style=display:inline-block></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">INSERT</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">INTO</span><span class="token plain"> class_student_scores </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">VALUES</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'Alice'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">85</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'Bob'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">92</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">3</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'Charlie'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">87</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">4</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'David'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">78</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">5</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'Eve'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">95</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">6</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'Frank'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">80</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">7</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'Grace'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">90</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">8</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'Hannah'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">84</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class=buttonGroup__atx><button type=button aria-label="Copy code to clipboard" title=Copy class=clean-btn><span class=copyButtonIcons_eSgA aria-hidden=true><svg viewBox="0 0 24 24" class=copyButtonIcon_y97N><path fill=currentColor d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"/></svg><svg viewBox="0 0 24 24" class=copyButtonSuccessIcon_LjdS><path fill=currentColor d=M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z /></svg></span></button></div></div></div>
<p>Then, use the NTILE function to divide the students into 4 groups based on their scores:</p>
<div class="language-sql codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#F8F8F2;--prism-background-color:#282A36><div class=codeBlockContent_biex><pre tabindex=0 class="prism-code language-sql codeBlock_bY9V thin-scrollbar" style=color:#F8F8F2;background-color:#282A36><code class=codeBlockLines_e6Vv><span class=token-line style=color:#F8F8F2><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">SELECT</span><span class="token plain"> </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> student_id</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> student_name</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> score</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> NTILE</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">4</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">OVER</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">ORDER</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">BY</span><span class="token plain"> score </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">DESC</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">AS</span><span class="token plain"> bucket </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">FROM</span><span class="token plain"> </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> class_student_scores</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class=buttonGroup__atx><button type=button aria-label="Copy code to clipboard" title=Copy class=clean-btn><span class=copyButtonIcons_eSgA aria-hidden=true><svg viewBox="0 0 24 24" class=copyButtonIcon_y97N><path fill=currentColor d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"/></svg><svg viewBox="0 0 24 24" class=copyButtonSuccessIcon_LjdS><path fill=currentColor d=M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z /></svg></span></button></div></div></div>
<p>The results are as follows:</p>
<div class="language-sql codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#F8F8F2;--prism-background-color:#282A36><div class=codeBlockContent_biex><pre tabindex=0 class="prism-code language-sql codeBlock_bY9V thin-scrollbar" style=color:#F8F8F2;background-color:#282A36><code class=codeBlockLines_e6Vv><span class=token-line style=color:#F8F8F2><span class="token operator">+</span><span class="token comment" style="color:rgb(98, 114, 164)">------------+--------------+-------+--------+</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">|</span><span class="token plain"> student_id </span><span class="token operator">|</span><span class="token plain"> student_name </span><span class="token operator">|</span><span class="token plain"> score </span><span class="token operator">|</span><span class="token plain"> bucket </span><span class="token operator">|</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">+</span><span class="token comment" style="color:rgb(98, 114, 164)">------------+--------------+-------+--------+</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">5</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> Eve </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">95</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">1</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">2</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> Bob </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">92</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">1</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">7</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> Grace </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">90</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">2</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">3</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> Charlie </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">87</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">2</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">1</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> Alice </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">85</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">3</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">8</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> Hannah </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">84</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">3</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">6</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> Frank </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">80</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">4</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">4</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> David </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">78</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">4</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">+</span><span class="token comment" style="color:rgb(98, 114, 164)">------------+--------------+-------+--------+</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token number">8</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">rows</span><span class="token plain"> </span><span class="token operator">in</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">set</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">0.12</span><span class="token plain"> sec</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><br></span></code></pre><div class=buttonGroup__atx><button type=button aria-label="Copy code to clipboard" title=Copy class=clean-btn><span class=copyButtonIcons_eSgA aria-hidden=true><svg viewBox="0 0 24 24" class=copyButtonIcon_y97N><path fill=currentColor d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"/></svg><svg viewBox="0 0 24 24" class=copyButtonSuccessIcon_LjdS><path fill=currentColor d=M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z /></svg></span></button></div></div></div>
<p>In this example, the <code>NTILE(4)</code> function divides the students into 4 groups (buckets) based on their scores, with the number of students in each group being as uniform as possible.</p>
<div class="theme-admonition theme-admonition-caution admonition_Gfwi alert alert--warning"><div class=admonitionHeading_f1Ed>Notes</div><div class=admonitionContent_UjKb><ul>
<li>
<p>If rows cannot be evenly distributed into buckets, some buckets may have one extra row.</p>
</li>
<li>
<p>The <code>NTILE</code> function works within each partition. If the <code>PARTITION BY</code> clause is used, data within each partition will be separately assigned to buckets.</p>
</li>
</ul></div></div>
<p><strong>3. Using NTILE with PARTITION BY</strong></p>
<p>Suppose you want to group students by class, and then divide them into 3 groups within each class based on their scores. You can use the <code>PARTITION BY</code> and <code>NTILE</code> functions:</p>
<div class="language-sql codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#F8F8F2;--prism-background-color:#282A36><div class=codeBlockContent_biex><pre tabindex=0 class="prism-code language-sql codeBlock_bY9V thin-scrollbar" style=color:#F8F8F2;background-color:#282A36><code class=codeBlockLines_e6Vv><span class=token-line style=color:#F8F8F2><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">SELECT</span><span class="token plain"> </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> class_id</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> student_id</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> student_name</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> score</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> NTILE</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">3</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">OVER</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">PARTITION</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">BY</span><span class="token plain"> class_id </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">ORDER</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">BY</span><span class="token plain"> score </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">DESC</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">AS</span><span class="token plain"> bucket </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">FROM</span><span class="token plain"> </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> class_student_scores</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class=buttonGroup__atx><button type=button aria-label="Copy code to clipboard" title=Copy class=clean-btn><span class=copyButtonIcons_eSgA aria-hidden=true><svg viewBox="0 0 24 24" class=copyButtonIcon_y97N><path fill=currentColor d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"/></svg><svg viewBox="0 0 24 24" class=copyButtonSuccessIcon_LjdS><path fill=currentColor d=M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z /></svg></span></button></div></div></div>
<p>The results are as follows:</p>
<div class="language-sql codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#F8F8F2;--prism-background-color:#282A36><div class=codeBlockContent_biex><pre tabindex=0 class="prism-code language-sql codeBlock_bY9V thin-scrollbar" style=color:#F8F8F2;background-color:#282A36><code class=codeBlockLines_e6Vv><span class=token-line style=color:#F8F8F2><span class="token operator">+</span><span class="token comment" style="color:rgb(98, 114, 164)">----------+------------+--------------+-------+--------+</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">|</span><span class="token plain"> class_id </span><span class="token operator">|</span><span class="token plain"> student_id </span><span class="token operator">|</span><span class="token plain"> student_name </span><span class="token operator">|</span><span class="token plain"> score </span><span class="token operator">|</span><span class="token plain"> bucket </span><span class="token operator">|</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">+</span><span class="token comment" style="color:rgb(98, 114, 164)">----------+------------+--------------+-------+--------+</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">1</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">2</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> Bob </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">92</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">1</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">1</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">3</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> Charlie </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">87</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">2</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">1</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">1</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> Alice </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">85</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">3</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">2</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">5</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> Eve </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">95</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">1</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">2</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">7</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> Grace </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">90</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">1</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">2</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">8</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> Hannah </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">84</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">2</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">2</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">6</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> Frank </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">80</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">2</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">2</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">4</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> David </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">78</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">3</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">+</span><span class="token comment" style="color:rgb(98, 114, 164)">----------+------------+--------------+-------+--------+</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token number">8</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">rows</span><span class="token plain"> </span><span class="token operator">in</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">set</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">0.05</span><span class="token plain"> sec</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><br></span></code></pre><div class=buttonGroup__atx><button type=button aria-label="Copy code to clipboard" title=Copy class=clean-btn><span class=copyButtonIcons_eSgA aria-hidden=true><svg viewBox="0 0 24 24" class=copyButtonIcon_y97N><path fill=currentColor d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"/></svg><svg viewBox="0 0 24 24" class=copyButtonSuccessIcon_LjdS><path fill=currentColor d=M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z /></svg></span></button></div></div></div>
<p>In this example, students are partitioned by class, and then within each class, they are divided into 3 groups based on their scores. The number of students in each group is as uniform as possible.</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id=analytic-functions>Analytic Functions<a href=#analytic-functions class=hash-link aria-label="Direct link to Analytic Functions" title="Direct link to Analytic Functions"></a></h2>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id=using-the-analytic-function-sum-to-calculate-cumulative-values>Using the Analytic Function SUM to Calculate Cumulative Values<a href=#using-the-analytic-function-sum-to-calculate-cumulative-values class=hash-link aria-label="Direct link to Using the Analytic Function SUM to Calculate Cumulative Values" title="Direct link to Using the Analytic Function SUM to Calculate Cumulative Values"></a></h3>
<p>Here is an example:</p>
<div class="language-sql codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#F8F8F2;--prism-background-color:#282A36><div class=codeBlockContent_biex><pre tabindex=0 class="prism-code language-sql codeBlock_bY9V thin-scrollbar" style=color:#F8F8F2;background-color:#282A36><code class=codeBlockLines_e6Vv><span class=token-line style=color:#F8F8F2><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">SELECT</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> i_category</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">year</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">d_date</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">month</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">d_date</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">sum</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">ss_net_paid</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">as</span><span class="token plain"> total_sales</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">sum</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token function" style="color:rgb(80, 250, 123)">sum</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">ss_net_paid</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">over</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">partition</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">by</span><span class="token plain"> i_category </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">order</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">by</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">year</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">d_date</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">month</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">d_date</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">ROWS</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">UNBOUNDED</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">PRECEDING</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> cum_sales</span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">FROM</span><span class="token plain"> </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> store_sales</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> date_dim d1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> item</span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">WHERE</span><span class="token plain"> </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> d1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token plain">d_date_sk </span><span class="token operator">=</span><span class="token plain"> ss_sold_date_sk</span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> </span><span class="token operator">and</span><span class="token plain"> i_item_sk </span><span class="token operator">=</span><span class="token plain"> ss_item_sk</span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> </span><span class="token operator">and</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">year</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">d_date</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token operator">=</span><span class="token number">2000</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> </span><span class="token operator">and</span><span class="token plain"> i_category </span><span class="token operator">in</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string" style="color:rgb(255, 121, 198)">'Books'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token string" style="color:rgb(255, 121, 198)">'Electronics'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">GROUP</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">BY</span><span class="token plain"> </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> i_category</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">year</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">d_date</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">month</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">d_date</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><br></span></code></pre><div class=buttonGroup__atx><button type=button aria-label="Copy code to clipboard" title=Copy class=clean-btn><span class=copyButtonIcons_eSgA aria-hidden=true><svg viewBox="0 0 24 24" class=copyButtonIcon_y97N><path fill=currentColor d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"/></svg><svg viewBox="0 0 24 24" class=copyButtonSuccessIcon_LjdS><path fill=currentColor d=M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z /></svg></span></button></div></div></div>
<p>The query result is as follows:</p>
<div class="language-sql codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#F8F8F2;--prism-background-color:#282A36><div class=codeBlockContent_biex><pre tabindex=0 class="prism-code language-sql codeBlock_bY9V thin-scrollbar" style=color:#F8F8F2;background-color:#282A36><code class=codeBlockLines_e6Vv><span class=token-line style=color:#F8F8F2><span class="token operator">+</span><span class="token comment" style="color:rgb(98, 114, 164)">-------------+--------------+---------------+-------------+-------------+</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">|</span><span class="token plain"> i_category </span><span class="token operator">|</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">year</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">d_date</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">month</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">d_date</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> total_sales </span><span class="token operator">|</span><span class="token plain"> cum_sales </span><span class="token operator">|</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">+</span><span class="token comment" style="color:rgb(98, 114, 164)">-------------+--------------+---------------+-------------+-------------+</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">|</span><span class="token plain"> Books </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">2000</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">1</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">5348482.88</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">5348482.88</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">|</span><span class="token plain"> Books </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">2000</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">2</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">4353162.03</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">9701644.91</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">|</span><span class="token plain"> Books </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">2000</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">3</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">4466958.01</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">14168602.92</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">|</span><span class="token plain"> Books </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">2000</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">4</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">4495802.19</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">18664405.11</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">|</span><span class="token plain"> Books </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">2000</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">5</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">4589913.47</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">23254318.58</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">|</span><span class="token plain"> Books </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">2000</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">6</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">4384384.00</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">27638702.58</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">|</span><span class="token plain"> Books </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">2000</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">7</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">4488018.76</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">32126721.34</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">|</span><span class="token plain"> Books </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">2000</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">8</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">9909227.94</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">42035949.28</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">|</span><span class="token plain"> Books </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">2000</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">9</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">10366110.30</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">52402059.58</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">|</span><span class="token plain"> Books </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">2000</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">10</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">10445320.76</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">62847380.34</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">|</span><span class="token plain"> Books </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">2000</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">11</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">15246901.52</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">78094281.86</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">|</span><span class="token plain"> Books </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">2000</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">12</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">15526630.11</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">93620911.97</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">|</span><span class="token plain"> Electronics </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">2000</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">1</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">5534568.17</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">5534568.17</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">|</span><span class="token plain"> Electronics </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">2000</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">2</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">4472655.10</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">10007223.27</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">|</span><span class="token plain"> Electronics </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">2000</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">3</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">4316942.60</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">14324165.87</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">|</span><span class="token plain"> Electronics </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">2000</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">4</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">4211523.06</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">18535688.93</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">|</span><span class="token plain"> Electronics </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">2000</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">5</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">4723661.00</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">23259349.93</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">|</span><span class="token plain"> Electronics </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">2000</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">6</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">4127773.06</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">27387122.99</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">|</span><span class="token plain"> Electronics </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">2000</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">7</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">4286523.05</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">31673646.04</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">|</span><span class="token plain"> Electronics </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">2000</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">8</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">10004890.96</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">41678537.00</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">|</span><span class="token plain"> Electronics </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">2000</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">9</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">10143665.77</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">51822202.77</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">|</span><span class="token plain"> Electronics </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">2000</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">10</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">10312020.35</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">62134223.12</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">|</span><span class="token plain"> Electronics </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">2000</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">11</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">14696000.54</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">76830223.66</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">|</span><span class="token plain"> Electronics </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">2000</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">12</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">15344441.52</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">92174665.18</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">+</span><span class="token comment" style="color:rgb(98, 114, 164)">-------------+--------------+---------------+-------------+-------------+</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token number">24</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">rows</span><span class="token plain"> </span><span class="token operator">in</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">set</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">0.13</span><span class="token plain"> sec</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><br></span></code></pre><div class=buttonGroup__atx><button type=button aria-label="Copy code to clipboard" title=Copy class=clean-btn><span class=copyButtonIcons_eSgA aria-hidden=true><svg viewBox="0 0 24 24" class=copyButtonIcon_y97N><path fill=currentColor d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"/></svg><svg viewBox="0 0 24 24" class=copyButtonSuccessIcon_LjdS><path fill=currentColor d=M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z /></svg></span></button></div></div></div>
<p>In this example, the analytic function SUM defines a window for each row, starting from the beginning of the partition (UNBOUNDED PRECEDING) and ending at the current row by default. In this case, nested use of SUM is required because we need to perform SUM on the result that is itself a SUM. Nested aggregation is frequently used in analytic aggregation functions.</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id=using-the-analytic-function-avg-to-calculate-moving-averages>Using the Analytic Function AVG to Calculate Moving Averages<a href=#using-the-analytic-function-avg-to-calculate-moving-averages class=hash-link aria-label="Direct link to Using the Analytic Function AVG to Calculate Moving Averages" title="Direct link to Using the Analytic Function AVG to Calculate Moving Averages"></a></h3>
<p>Here is an example:</p>
<div class="language-sql codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#F8F8F2;--prism-background-color:#282A36><div class=codeBlockContent_biex><pre tabindex=0 class="prism-code language-sql codeBlock_bY9V thin-scrollbar" style=color:#F8F8F2;background-color:#282A36><code class=codeBlockLines_e6Vv><span class=token-line style=color:#F8F8F2><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">SELECT</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> i_category</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">year</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">d_date</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">month</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">d_date</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">sum</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">ss_net_paid</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">as</span><span class="token plain"> total_sales</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">avg</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token function" style="color:rgb(80, 250, 123)">sum</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">ss_net_paid</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">over</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">order</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">by</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">year</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">d_date</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">month</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">d_date</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">ROWS</span><span class="token plain"> </span><span class="token number">2</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">PRECEDING</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> avg</span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">FROM</span><span class="token plain"> </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> store_sales</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> date_dim d1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> item</span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">WHERE</span><span class="token plain"> </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> d1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token plain">d_date_sk </span><span class="token operator">=</span><span class="token plain"> ss_sold_date_sk</span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> </span><span class="token operator">and</span><span class="token plain"> i_item_sk </span><span class="token operator">=</span><span class="token plain"> ss_item_sk</span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> </span><span class="token operator">and</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">year</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">d_date</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token operator">=</span><span class="token number">2000</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> </span><span class="token operator">and</span><span class="token plain"> i_category</span><span class="token operator">=</span><span class="token string" style="color:rgb(255, 121, 198)">'Books'</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">GROUP</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">BY</span><span class="token plain"> </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> i_category</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">year</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">d_date</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">month</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">d_date</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><br></span></code></pre><div class=buttonGroup__atx><button type=button aria-label="Copy code to clipboard" title=Copy class=clean-btn><span class=copyButtonIcons_eSgA aria-hidden=true><svg viewBox="0 0 24 24" class=copyButtonIcon_y97N><path fill=currentColor d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"/></svg><svg viewBox="0 0 24 24" class=copyButtonSuccessIcon_LjdS><path fill=currentColor d=M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z /></svg></span></button></div></div></div>
<p>The query result is as follows:</p>
<div class="language-sql codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#F8F8F2;--prism-background-color:#282A36><div class=codeBlockContent_biex><pre tabindex=0 class="prism-code language-sql codeBlock_bY9V thin-scrollbar" style=color:#F8F8F2;background-color:#282A36><code class=codeBlockLines_e6Vv><span class=token-line style=color:#F8F8F2><span class="token operator">+</span><span class="token comment" style="color:rgb(98, 114, 164)">------------+--------------+---------------+-------------+---------------+</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">|</span><span class="token plain"> i_category </span><span class="token operator">|</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">year</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">d_date</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">month</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">d_date</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> total_sales </span><span class="token operator">|</span><span class="token plain"> avg </span><span class="token operator">|</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">+</span><span class="token comment" style="color:rgb(98, 114, 164)">------------+--------------+---------------+-------------+---------------+</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">|</span><span class="token plain"> Books </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">2000</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">1</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">5348482.88</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">5348482.8800</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">|</span><span class="token plain"> Books </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">2000</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">2</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">4353162.03</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">4850822.4550</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">|</span><span class="token plain"> Books </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">2000</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">3</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">4466958.01</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">4722867.6400</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">|</span><span class="token plain"> Books </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">2000</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">4</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">4495802.19</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">4438640.7433</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">|</span><span class="token plain"> Books </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">2000</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">5</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">4589913.47</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">4517557.8900</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">|</span><span class="token plain"> Books </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">2000</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">6</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">4384384.00</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">4490033.2200</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">|</span><span class="token plain"> Books </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">2000</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">7</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">4488018.76</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">4487438.7433</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">|</span><span class="token plain"> Books </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">2000</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">8</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">9909227.94</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">6260543.5666</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">|</span><span class="token plain"> Books </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">2000</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">9</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">10366110.30</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">8254452.3333</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">|</span><span class="token plain"> Books </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">2000</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">10</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">10445320.76</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">10240219.6666</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">|</span><span class="token plain"> Books </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">2000</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">11</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">15246901.52</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">12019444.1933</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">|</span><span class="token plain"> Books </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">2000</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">12</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">15526630.11</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">13739617.4633</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">+</span><span class="token comment" style="color:rgb(98, 114, 164)">------------+--------------+---------------+-------------+---------------+</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token number">12</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">rows</span><span class="token plain"> </span><span class="token operator">in</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">set</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">0.13</span><span class="token plain"> sec</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><br></span></code></pre><div class=buttonGroup__atx><button type=button aria-label="Copy code to clipboard" title=Copy class=clean-btn><span class=copyButtonIcons_eSgA aria-hidden=true><svg viewBox="0 0 24 24" class=copyButtonIcon_y97N><path fill=currentColor d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"/></svg><svg viewBox="0 0 24 24" class=copyButtonSuccessIcon_LjdS><path fill=currentColor d=M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z /></svg></span></button></div></div></div>
<div class="theme-admonition theme-admonition-caution admonition_Gfwi alert alert--warning"><div class=admonitionHeading_f1Ed>Note</div><div class=admonitionContent_UjKb><p>In the output data, the AVG column for the first two rows does not calculate a three-day moving average because there are not enough preceding rows for the boundary data (the number of rows specified in SQL is 3).</div></div>
<p>Additionally, it is possible to calculate window aggregate functions centered on the current row. For instance, this example calculates the centered moving average of monthly sales for products in the "Books" category in the year 2000, specifically averaging the total sales of the month before the current row, the current row, and the month after the current row.</p>
<div class="language-sql codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#F8F8F2;--prism-background-color:#282A36><div class=codeBlockContent_biex><pre tabindex=0 class="prism-code language-sql codeBlock_bY9V thin-scrollbar" style=color:#F8F8F2;background-color:#282A36><code class=codeBlockLines_e6Vv><span class=token-line style=color:#F8F8F2><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">SELECT</span><span class="token plain"> </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> i_category</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">YEAR</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">d_date</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">AS</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">year</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">MONTH</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">d_date</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">AS</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">month</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">SUM</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">ss_net_paid</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">AS</span><span class="token plain"> total_sales</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">AVG</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token function" style="color:rgb(80, 250, 123)">SUM</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">ss_net_paid</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">OVER</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">ORDER</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">BY</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">YEAR</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">d_date</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">MONTH</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">d_date</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">ROWS</span><span class="token plain"> </span><span class="token operator">BETWEEN</span><span class="token plain"> </span><span class="token number">1</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">PRECEDING</span><span class="token plain"> </span><span class="token operator">AND</span><span class="token plain"> </span><span class="token number">1</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">FOLLOWING</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">AS</span><span class="token plain"> avg_sales </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">FROM</span><span class="token plain"> </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> store_sales</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> date_dim d1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> item </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">WHERE</span><span class="token plain"> </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> d1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token plain">d_date_sk </span><span class="token operator">=</span><span class="token plain"> ss_sold_date_sk </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> </span><span class="token operator">AND</span><span class="token plain"> i_item_sk </span><span class="token operator">=</span><span class="token plain"> ss_item_sk </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> </span><span class="token operator">AND</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">YEAR</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">d_date</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token operator">=</span><span class="token plain"> </span><span class="token number">2000</span><span class="token plain"> </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> </span><span class="token operator">AND</span><span class="token plain"> i_category </span><span class="token operator">=</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'Books'</span><span class="token plain"> </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">GROUP</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">BY</span><span class="token plain"> </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> i_category</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">YEAR</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">d_date</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">MONTH</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">d_date</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><br></span></code></pre><div class=buttonGroup__atx><button type=button aria-label="Copy code to clipboard" title=Copy class=clean-btn><span class=copyButtonIcons_eSgA aria-hidden=true><svg viewBox="0 0 24 24" class=copyButtonIcon_y97N><path fill=currentColor d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"/></svg><svg viewBox="0 0 24 24" class=copyButtonSuccessIcon_LjdS><path fill=currentColor d=M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z /></svg></span></button></div></div></div>
<div class="theme-admonition theme-admonition-caution admonition_Gfwi alert alert--warning"><div class=admonitionHeading_f1Ed>Note</div><div class=admonitionContent_UjKb><p>The centered moving averages for the starting and ending rows in the output data are calculated based on only two days because there are not enough rows before and after the boundary data.</div></div>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id=reporting-function>Reporting Function<a href=#reporting-function class=hash-link aria-label="Direct link to Reporting Function" title="Direct link to Reporting Function"></a></h2>
<p>A reporting function refers to a scenario where the window range for each row covers the entire Partition. The primary advantage of reporting functions is their ability to pass data multiple times within a single query block, thereby enhancing query performance. For example, queries such as "For each year, find the product category with the highest sales" do not require JOIN operations when using reporting functions. An example is provided below:</p>
<div class="language-sql codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#F8F8F2;--prism-background-color:#282A36><div class=codeBlockContent_biex><pre tabindex=0 class="prism-code language-sql codeBlock_bY9V thin-scrollbar" style=color:#F8F8F2;background-color:#282A36><code class=codeBlockLines_e6Vv><span class=token-line style=color:#F8F8F2><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">SELECT</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">year</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> category</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> total_sum </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">FROM</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain"> </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">SELECT</span><span class="token plain"> </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">YEAR</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">d_date</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">AS</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">year</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> i_category </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">AS</span><span class="token plain"> category</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">SUM</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">ss_net_paid</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">AS</span><span class="token plain"> total_sum</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">MAX</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token function" style="color:rgb(80, 250, 123)">SUM</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">ss_net_paid</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">OVER</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">PARTITION</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">BY</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">YEAR</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">d_date</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">AS</span><span class="token plain"> max_sales </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">FROM</span><span class="token plain"> </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> store_sales</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> date_dim d1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> item </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">WHERE</span><span class="token plain"> </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> d1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token plain">d_date_sk </span><span class="token operator">=</span><span class="token plain"> ss_sold_date_sk </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> </span><span class="token operator">AND</span><span class="token plain"> i_item_sk </span><span class="token operator">=</span><span class="token plain"> ss_item_sk </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> </span><span class="token operator">AND</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">YEAR</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">d_date</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token operator">IN</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">1998</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">1999</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">GROUP</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">BY</span><span class="token plain"> </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">YEAR</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">d_date</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> i_category </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> t </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">WHERE</span><span class="token plain"> total_sum </span><span class="token operator">=</span><span class="token plain"> max_sales</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class=buttonGroup__atx><button type=button aria-label="Copy code to clipboard" title=Copy class=clean-btn><span class=copyButtonIcons_eSgA aria-hidden=true><svg viewBox="0 0 24 24" class=copyButtonIcon_y97N><path fill=currentColor d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"/></svg><svg viewBox="0 0 24 24" class=copyButtonSuccessIcon_LjdS><path fill=currentColor d=M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z /></svg></span></button></div></div></div>
<p>The inner query result for reporting <code>MAX(SUM(ss_net_paid))</code> is as follows:</p>
<div class="language-sql codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#F8F8F2;--prism-background-color:#282A36><div class=codeBlockContent_biex><pre tabindex=0 class="prism-code language-sql codeBlock_bY9V thin-scrollbar" style=color:#F8F8F2;background-color:#282A36><code class=codeBlockLines_e6Vv><span class=token-line style=color:#F8F8F2><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">SELECT</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">year</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> category</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> total_sum </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">FROM</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain"> </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">SELECT</span><span class="token plain"> </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">YEAR</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">d_date</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">AS</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">year</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> i_category </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">AS</span><span class="token plain"> category</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">SUM</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">ss_net_paid</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">AS</span><span class="token plain"> total_sum</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">MAX</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token function" style="color:rgb(80, 250, 123)">SUM</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">ss_net_paid</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">OVER</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">PARTITION</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">BY</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">YEAR</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">d_date</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">AS</span><span class="token plain"> max_sales </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">FROM</span><span class="token plain"> </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> store_sales</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> date_dim d1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> item </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">WHERE</span><span class="token plain"> </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> d1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token plain">d_date_sk </span><span class="token operator">=</span><span class="token plain"> ss_sold_date_sk </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> </span><span class="token operator">AND</span><span class="token plain"> i_item_sk </span><span class="token operator">=</span><span class="token plain"> ss_item_sk </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> </span><span class="token operator">AND</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">YEAR</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">d_date</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token operator">IN</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">1998</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">1999</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">GROUP</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">BY</span><span class="token plain"> </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">YEAR</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">d_date</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> i_category </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> t </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">WHERE</span><span class="token plain"> total_sum </span><span class="token operator">=</span><span class="token plain"> max_sales</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class=buttonGroup__atx><button type=button aria-label="Copy code to clipboard" title=Copy class=clean-btn><span class=copyButtonIcons_eSgA aria-hidden=true><svg viewBox="0 0 24 24" class=copyButtonIcon_y97N><path fill=currentColor d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"/></svg><svg viewBox="0 0 24 24" class=copyButtonSuccessIcon_LjdS><path fill=currentColor d=M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z /></svg></span></button></div></div></div>
<p>The complete query result is as follows:</p>
<div class="language-sql codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#F8F8F2;--prism-background-color:#282A36><div class=codeBlockContent_biex><pre tabindex=0 class="prism-code language-sql codeBlock_bY9V thin-scrollbar" style=color:#F8F8F2;background-color:#282A36><code class=codeBlockLines_e6Vv><span class=token-line style=color:#F8F8F2><span class="token operator">+</span><span class="token comment" style="color:rgb(98, 114, 164)">------+-------------+-------------+ </span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">|</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">year</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> category </span><span class="token operator">|</span><span class="token plain"> total_sum </span><span class="token operator">|</span><span class="token plain"> </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">+</span><span class="token comment" style="color:rgb(98, 114, 164)">------+-------------+-------------+ </span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">1998</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> Electronics </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">91723676.27</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">1999</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> Electronics </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">90310850.54</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">+</span><span class="token comment" style="color:rgb(98, 114, 164)">------+-------------+-------------+ </span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token number">2</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">rows</span><span class="token plain"> </span><span class="token operator">in</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">set</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">0.12</span><span class="token plain"> sec</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><br></span></code></pre><div class=buttonGroup__atx><button type=button aria-label="Copy code to clipboard" title=Copy class=clean-btn><span class=copyButtonIcons_eSgA aria-hidden=true><svg viewBox="0 0 24 24" class=copyButtonIcon_y97N><path fill=currentColor d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"/></svg><svg viewBox="0 0 24 24" class=copyButtonSuccessIcon_LjdS><path fill=currentColor d=M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z /></svg></span></button></div></div></div>
<p>You can combine reporting aggregation with nested queries to solve some complex problems, such as finding the best-selling products within important product subcategories. For example, to "Find subcategories where product sales account for more than 20% of total sales in their product category, and select the top five products from these subcategories," the query statement is as follows:</p>
<div class="language-sql codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#F8F8F2;--prism-background-color:#282A36><div class=codeBlockContent_biex><pre tabindex=0 class="prism-code language-sql codeBlock_bY9V thin-scrollbar" style=color:#F8F8F2;background-color:#282A36><code class=codeBlockLines_e6Vv><span class=token-line style=color:#F8F8F2><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">SELECT</span><span class="token plain"> i_category </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">AS</span><span class="token plain"> categ</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> i_class </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">AS</span><span class="token plain"> sub_categ</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> i_item_id </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">FROM</span><span class="token plain"> </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain"> </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">SELECT</span><span class="token plain"> </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> i_item_id</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> i_class</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> i_category</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">SUM</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">ss_net_paid</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">AS</span><span class="token plain"> sales</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">SUM</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token function" style="color:rgb(80, 250, 123)">SUM</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">ss_net_paid</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">OVER</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">PARTITION</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">BY</span><span class="token plain"> i_category</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">AS</span><span class="token plain"> cat_sales</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">SUM</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token function" style="color:rgb(80, 250, 123)">SUM</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">ss_net_paid</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">OVER</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">PARTITION</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">BY</span><span class="token plain"> i_class</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">AS</span><span class="token plain"> sub_cat_sales</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> RANK</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">OVER</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">PARTITION</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">BY</span><span class="token plain"> i_class </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">ORDER</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">BY</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">SUM</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">ss_net_paid</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">AS</span><span class="token plain"> rank_in_line </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">FROM</span><span class="token plain"> </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> store_sales</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> item </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">WHERE</span><span class="token plain"> </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> i_item_sk </span><span class="token operator">=</span><span class="token plain"> ss_item_sk </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">GROUP</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">BY</span><span class="token plain"> i_class</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> i_category</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> i_item_id </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> t </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">WHERE</span><span class="token plain"> sub_cat_sales </span><span class="token operator">></span><span class="token plain"> </span><span class="token number">0.2</span><span class="token plain"> </span><span class="token operator">*</span><span class="token plain"> cat_sales </span><span class="token operator">AND</span><span class="token plain"> rank_in_line </span><span class="token operator">&lt;=</span><span class="token plain"> </span><span class="token number">5</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class=buttonGroup__atx><button type=button aria-label="Copy code to clipboard" title=Copy class=clean-btn><span class=copyButtonIcons_eSgA aria-hidden=true><svg viewBox="0 0 24 24" class=copyButtonIcon_y97N><path fill=currentColor d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"/></svg><svg viewBox="0 0 24 24" class=copyButtonSuccessIcon_LjdS><path fill=currentColor d=M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z /></svg></span></button></div></div></div>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id=lag--lead>LAG / LEAD<a href=#lag--lead class=hash-link aria-label="Direct link to LAG / LEAD" title="Direct link to LAG / LEAD"></a></h2>
<p>The LAG and LEAD functions are suitable for comparisons between values. Both functions can access multiple rows in a table simultaneously without requiring self-joins, thereby enhancing the speed of query processing. Specifically, the LAG function provides access to a row at a given offset before the current row, while the LEAD function provides access to a row at a given offset after the current row.</p>
<p>Below is an example of an SQL query using the LAG function. This query aims to select the total sales for each product category in specific years (1999, 2000, 2001, 2002), the total sales of the previous year, and the difference between them:</p>
<div class="language-sql codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#F8F8F2;--prism-background-color:#282A36><div class=codeBlockContent_biex><pre tabindex=0 class="prism-code language-sql codeBlock_bY9V thin-scrollbar" style=color:#F8F8F2;background-color:#282A36><code class=codeBlockLines_e6Vv><span class=token-line style=color:#F8F8F2><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">select</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">year</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> category</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> total_sales</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> before_year_sales</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> total_sales </span><span class="token operator">-</span><span class="token plain"> before_year_sales </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">from</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">select</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">sum</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">ss_net_paid</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">as</span><span class="token plain"> total_sales</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">year</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">d_date</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">year</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> i_category category</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> lag</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token function" style="color:rgb(80, 250, 123)">sum</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">ss_net_paid</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token number">0</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">over</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">PARTITION</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">BY</span><span class="token plain"> i_category </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">ORDER</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">BY</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">YEAR</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">d_date</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">AS</span><span class="token plain"> before_year_sales</span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">from</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> store_sales</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> date_dim d1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> item</span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">where</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> d1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token plain">d_date_sk </span><span class="token operator">=</span><span class="token plain"> ss_sold_date_sk</span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> </span><span class="token operator">and</span><span class="token plain"> i_item_sk </span><span class="token operator">=</span><span class="token plain"> ss_item_sk</span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">GROUP</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">BY</span><span class="token plain"> </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">YEAR</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">d_date</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> i_category</span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> t</span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">where</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">year</span><span class="token plain"> </span><span class="token operator">in</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">1999</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">2000</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">2001</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">2002</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><br></span></code></pre><div class=buttonGroup__atx><button type=button aria-label="Copy code to clipboard" title=Copy class=clean-btn><span class=copyButtonIcons_eSgA aria-hidden=true><svg viewBox="0 0 24 24" class=copyButtonIcon_y97N><path fill=currentColor d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"/></svg><svg viewBox="0 0 24 24" class=copyButtonSuccessIcon_LjdS><path fill=currentColor d=M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z /></svg></span></button></div></div></div>
<p>The query results are as follows:</p>
<div class="language-sql codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#F8F8F2;--prism-background-color:#282A36><div class=codeBlockContent_biex><pre tabindex=0 class="prism-code language-sql codeBlock_bY9V thin-scrollbar" style=color:#F8F8F2;background-color:#282A36><code class=codeBlockLines_e6Vv><span class=token-line style=color:#F8F8F2><span class="token operator">+</span><span class="token comment" style="color:rgb(98, 114, 164)">------+-------------+-------------+-------------------+-----------------------------------+</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">|</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">year</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> category </span><span class="token operator">|</span><span class="token plain"> total_sales </span><span class="token operator">|</span><span class="token plain"> before_year_sales </span><span class="token operator">|</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">total_sales </span><span class="token operator">-</span><span class="token plain"> before_year_sales</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">+</span><span class="token comment" style="color:rgb(98, 114, 164)">------+-------------+-------------+-------------------+-----------------------------------+</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">1999</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> Books </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">88993351.11</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">91307909.84</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token operator">-</span><span class="token number">2314558.73</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">2000</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> Books </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">93620911.97</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">88993351.11</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">4627560.86</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">2001</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> Books </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">90640097.99</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">93620911.97</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token operator">-</span><span class="token number">2980813.98</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">2002</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> Books </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">89585515.90</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">90640097.99</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token operator">-</span><span class="token number">1054582.09</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">1999</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> Electronics </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">90310850.54</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">91723676.27</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token operator">-</span><span class="token number">1412825.73</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">2000</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> Electronics </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">92174665.18</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">90310850.54</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">1863814.64</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">2001</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> Electronics </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">92598527.85</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">92174665.18</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">423862.67</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">2002</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> Electronics </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">94303831.84</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">92598527.85</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"> </span><span class="token number">1705303.99</span><span class="token plain"> </span><span class="token operator">|</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token operator">+</span><span class="token comment" style="color:rgb(98, 114, 164)">------+-------------+-------------+-------------------+-----------------------------------+</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token number">8</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">rows</span><span class="token plain"> </span><span class="token operator">in</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">set</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">0.16</span><span class="token plain"> sec</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><br></span></code></pre><div class=buttonGroup__atx><button type=button aria-label="Copy code to clipboard" title=Copy class=clean-btn><span class=copyButtonIcons_eSgA aria-hidden=true><svg viewBox="0 0 24 24" class=copyButtonIcon_y97N><path fill=currentColor d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"/></svg><svg viewBox="0 0 24 24" class=copyButtonSuccessIcon_LjdS><path fill=currentColor d=M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z /></svg></span></button></div></div></div>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id=examples>Examples<a href=#examples class=hash-link aria-label="Direct link to Examples" title="Direct link to Examples"></a></h2>
<ol>
<li>Assume we have the following stock data, with stock symbol JDR and daily closing prices:</li>
</ol>
<div class="language-sql codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#F8F8F2;--prism-background-color:#282A36><div class=codeBlockContent_biex><pre tabindex=0 class="prism-code language-sql codeBlock_bY9V thin-scrollbar" style=color:#F8F8F2;background-color:#282A36><code class=codeBlockLines_e6Vv><span class=token-line style=color:#F8F8F2><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">create</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">table</span><span class="token plain"> stock_ticker </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">stock_symbol string</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> closing_price </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">decimal</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">8</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token number">2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> closing_date </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">timestamp</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"> </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">INSERT</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">INTO</span><span class="token plain"> stock_ticker </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">VALUES</span><span class="token plain"> </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string" style="color:rgb(255, 121, 198)">"JDR"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">12.86</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"2014-10-02 00:00:00"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string" style="color:rgb(255, 121, 198)">"JDR"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">12.89</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"2014-10-03 00:00:00"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string" style="color:rgb(255, 121, 198)">"JDR"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">12.94</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"2014-10-04 00:00:00"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string" style="color:rgb(255, 121, 198)">"JDR"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">12.55</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"2014-10-05 00:00:00"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string" style="color:rgb(255, 121, 198)">"JDR"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">14.03</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"2014-10-06 00:00:00"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string" style="color:rgb(255, 121, 198)">"JDR"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">14.75</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"2014-10-07 00:00:00"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string" style="color:rgb(255, 121, 198)">"JDR"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token number">13.98</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"2014-10-08 00:00:00"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain" style=display:inline-block></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">select</span><span class="token plain"> </span><span class="token operator">*</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">from</span><span class="token plain"> stock_ticker </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">order</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">by</span><span class="token plain"> stock_symbol</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> closing_date</span><br></span></code></pre><div class=buttonGroup__atx><button type=button aria-label="Copy code to clipboard" title=Copy class=clean-btn><span class=copyButtonIcons_eSgA aria-hidden=true><svg viewBox="0 0 24 24" class=copyButtonIcon_y97N><path fill=currentColor d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"/></svg><svg viewBox="0 0 24 24" class=copyButtonSuccessIcon_LjdS><path fill=currentColor d=M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z /></svg></span></button></div></div></div>
<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#F8F8F2;--prism-background-color:#282A36><div class=codeBlockContent_biex><pre tabindex=0 class="prism-code language-text codeBlock_bY9V thin-scrollbar" style=color:#F8F8F2;background-color:#282A36><code class=codeBlockLines_e6Vv><span class=token-line style=color:#F8F8F2><span class="token plain"> | stock_symbol | closing_price | closing_date |</span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> |--------------|---------------|---------------------|</span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> | JDR | 12.86 | 2014-10-02 00:00:00 |</span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> | JDR | 12.89 | 2014-10-03 00:00:00 |</span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> | JDR | 12.94 | 2014-10-04 00:00:00 |</span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> | JDR | 12.55 | 2014-10-05 00:00:00 |</span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> | JDR | 14.03 | 2014-10-06 00:00:00 |</span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> | JDR | 14.75 | 2014-10-07 00:00:00 |</span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> | JDR | 13.98 | 2014-10-08 00:00:00 |</span><br></span></code></pre><div class=buttonGroup__atx><button type=button aria-label="Copy code to clipboard" title=Copy class=clean-btn><span class=copyButtonIcons_eSgA aria-hidden=true><svg viewBox="0 0 24 24" class=copyButtonIcon_y97N><path fill=currentColor d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"/></svg><svg viewBox="0 0 24 24" class=copyButtonSuccessIcon_LjdS><path fill=currentColor d=M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z /></svg></span></button></div></div></div>
<ol start=2>
<li>This query uses an analytic function to generate a moving_average column, which calculates the 3-day average stock price (previous day, current day, and next day). The first day has no previous day value, and the last day has no next day value, so these rows only calculate a two-day average. The Partition By clause has no effect here since all data is for JDR, but if there were other stock information, Partition By would ensure the analytic function only operates within its own partition.</li>
</ol>
<div class="language-sql codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#F8F8F2;--prism-background-color:#282A36><div class=codeBlockContent_biex><pre tabindex=0 class="prism-code language-sql codeBlock_bY9V thin-scrollbar" style=color:#F8F8F2;background-color:#282A36><code class=codeBlockLines_e6Vv><span class=token-line style=color:#F8F8F2><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">select</span><span class="token plain"> stock_symbol</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> closing_date</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> closing_price</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token function" style="color:rgb(80, 250, 123)">avg</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">closing_price</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">over</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">partition</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">by</span><span class="token plain"> stock_symbol </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">order</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">by</span><span class="token plain"> closing_date </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">rows</span><span class="token plain"> </span><span class="token operator">between</span><span class="token plain"> </span><span class="token number">1</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">preceding</span><span class="token plain"> </span><span class="token operator">and</span><span class="token plain"> </span><span class="token number">1</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">following</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">as</span><span class="token plain"> moving_average </span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">from</span><span class="token plain"> stock_ticker</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class=buttonGroup__atx><button type=button aria-label="Copy code to clipboard" title=Copy class=clean-btn><span class=copyButtonIcons_eSgA aria-hidden=true><svg viewBox="0 0 24 24" class=copyButtonIcon_y97N><path fill=currentColor d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"/></svg><svg viewBox="0 0 24 24" class=copyButtonSuccessIcon_LjdS><path fill=currentColor d=M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z /></svg></span></button></div></div></div>
<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#F8F8F2;--prism-background-color:#282A36><div class=codeBlockContent_biex><pre tabindex=0 class="prism-code language-text codeBlock_bY9V thin-scrollbar" style=color:#F8F8F2;background-color:#282A36><code class=codeBlockLines_e6Vv><span class=token-line style=color:#F8F8F2><span class="token plain">| stock_symbol | closing_date | closing_price | moving_average |</span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain">|--------------|---------------------|---------------|----------------|</span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain">| JDR | 2014-10-02 00:00:00 | 12.86 | 12.87 |</span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain">| JDR | 2014-10-03 00:00:00 | 12.89 | 12.89 |</span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain">| JDR | 2014-10-04 00:00:00 | 12.94 | 12.79 |</span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain">| JDR | 2014-10-05 00:00:00 | 12.55 | 13.17 |</span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain">| JDR | 2014-10-06 00:00:00 | 14.03 | 13.77 |</span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain">| JDR | 2014-10-07 00:00:00 | 14.75 | 14.25 |</span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain">| JDR | 2014-10-08 00:00:00 | 13.98 | 14.36 |</span><br></span></code></pre><div class=buttonGroup__atx><button type=button aria-label="Copy code to clipboard" title=Copy class=clean-btn><span class=copyButtonIcons_eSgA aria-hidden=true><svg viewBox="0 0 24 24" class=copyButtonIcon_y97N><path fill=currentColor d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"/></svg><svg viewBox="0 0 24 24" class=copyButtonSuccessIcon_LjdS><path fill=currentColor d=M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z /></svg></span></button></div></div></div>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id=reference>Reference<a href=#reference class=hash-link aria-label="Direct link to Reference" title="Direct link to Reference"></a></h2>
<p>The table creation statement used in the example is as follows:</p>
<div class="language-sql codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#F8F8F2;--prism-background-color:#282A36><div class=codeBlockContent_biex><pre tabindex=0 class="prism-code language-sql codeBlock_bY9V thin-scrollbar" style=color:#F8F8F2;background-color:#282A36><code class=codeBlockLines_e6Vv><span class=token-line style=color:#F8F8F2><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">CREATE</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">DATABASE</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">IF</span><span class="token plain"> </span><span class="token operator">NOT</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">EXISTS</span><span class="token plain"> doc_tpcds</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">USE</span><span class="token plain"> doc_tpcds</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain" style=display:inline-block></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">CREATE</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">TABLE</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">IF</span><span class="token plain"> </span><span class="token operator">NOT</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">EXISTS</span><span class="token plain"> item </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> i_item_sk </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">bigint</span><span class="token plain"> </span><span class="token operator">not</span><span class="token plain"> </span><span class="token boolean">null</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> i_item_id </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">char</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">16</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token operator">not</span><span class="token plain"> </span><span class="token boolean">null</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> i_rec_start_date </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">date</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> i_rec_end_date </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">date</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> i_item_desc </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">varchar</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">200</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> i_current_price </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">decimal</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">7</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token number">2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> i_wholesale_cost </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">decimal</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">7</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token number">2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> i_brand_id </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">integer</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> i_brand </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">char</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">50</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> i_class_id </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">integer</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> i_class </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">char</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">50</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> i_category_id </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">integer</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> i_category </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">char</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">50</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> i_manufact_id </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">integer</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> i_manufact </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">char</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">50</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> i_size </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">char</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">20</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> i_formulation </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">char</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">20</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> i_color </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">char</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">20</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> i_units </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">char</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">10</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> i_container </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">char</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">10</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> i_manager_id </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">integer</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> i_product_name </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">char</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">50</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">DUPLICATE</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">KEY</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">i_item_sk</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">DISTRIBUTED</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">BY</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">HASH</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">i_item_sk</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> BUCKETS </span><span class="token number">12</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain">PROPERTIES </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"replication_num"</span><span class="token plain"> </span><span class="token operator">=</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"1"</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain" style=display:inline-block></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">CREATE</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">TABLE</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">IF</span><span class="token plain"> </span><span class="token operator">NOT</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">EXISTS</span><span class="token plain"> store_sales </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> ss_item_sk </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">bigint</span><span class="token plain"> </span><span class="token operator">not</span><span class="token plain"> </span><span class="token boolean">null</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> ss_ticket_number </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">bigint</span><span class="token plain"> </span><span class="token operator">not</span><span class="token plain"> </span><span class="token boolean">null</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> ss_sold_date_sk </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">bigint</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> ss_sold_time_sk </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">bigint</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> ss_customer_sk </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">bigint</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> ss_cdemo_sk </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">bigint</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> ss_hdemo_sk </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">bigint</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> ss_addr_sk </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">bigint</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> ss_store_sk </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">bigint</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> ss_promo_sk </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">bigint</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> ss_quantity </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">integer</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> ss_wholesale_cost </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">decimal</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">7</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token number">2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> ss_list_price </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">decimal</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">7</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token number">2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> ss_sales_price </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">decimal</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">7</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token number">2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> ss_ext_discount_amt </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">decimal</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">7</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token number">2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> ss_ext_sales_price </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">decimal</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">7</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token number">2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> ss_ext_wholesale_cost </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">decimal</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">7</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token number">2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> ss_ext_list_price </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">decimal</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">7</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token number">2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> ss_ext_tax </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">decimal</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">7</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token number">2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> ss_coupon_amt </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">decimal</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">7</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token number">2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> ss_net_paid </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">decimal</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">7</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token number">2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> ss_net_paid_inc_tax </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">decimal</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">7</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token number">2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> ss_net_profit </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">decimal</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">7</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token number">2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">DUPLICATE</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">KEY</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">ss_item_sk</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> ss_ticket_number</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">DISTRIBUTED</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">BY</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">HASH</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">ss_item_sk</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> ss_ticket_number</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> BUCKETS </span><span class="token number">32</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain">PROPERTIES </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"replication_num"</span><span class="token plain"> </span><span class="token operator">=</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"1"</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain" style=display:inline-block></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">CREATE</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">TABLE</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">IF</span><span class="token plain"> </span><span class="token operator">NOT</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">EXISTS</span><span class="token plain"> date_dim </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> d_date_sk </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">bigint</span><span class="token plain"> </span><span class="token operator">not</span><span class="token plain"> </span><span class="token boolean">null</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> d_date_id </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">char</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">16</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token operator">not</span><span class="token plain"> </span><span class="token boolean">null</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> d_date </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">date</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> d_month_seq </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">integer</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> d_week_seq </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">integer</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> d_quarter_seq </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">integer</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> d_year </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">integer</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> d_dow </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">integer</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> d_moy </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">integer</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> d_dom </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">integer</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> d_qoy </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">integer</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> d_fy_year </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">integer</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> d_fy_quarter_seq </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">integer</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> d_fy_week_seq </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">integer</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> d_day_name </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">char</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">9</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> d_quarter_name </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">char</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">6</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> d_holiday </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">char</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> d_weekend </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">char</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> d_following_holiday </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">char</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> d_first_dom </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">integer</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> d_last_dom </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">integer</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> d_same_day_ly </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">integer</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> d_same_day_lq </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">integer</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> d_current_day </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">char</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> d_current_week </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">char</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> d_current_month </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">char</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> d_current_quarter </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">char</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> d_current_year </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">char</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">1</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">DUPLICATE</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">KEY</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">d_date_sk</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">DISTRIBUTED</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">BY</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">HASH</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">d_date_sk</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> BUCKETS </span><span class="token number">12</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain">PROPERTIES </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"replication_num"</span><span class="token plain"> </span><span class="token operator">=</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"1"</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain" style=display:inline-block></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">CREATE</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">TABLE</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">IF</span><span class="token plain"> </span><span class="token operator">NOT</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">EXISTS</span><span class="token plain"> customer_address </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> ca_address_sk </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">bigint</span><span class="token plain"> </span><span class="token operator">not</span><span class="token plain"> </span><span class="token boolean">null</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> ca_address_id </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">char</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">16</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token operator">not</span><span class="token plain"> </span><span class="token boolean">null</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> ca_street_number </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">char</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">10</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> ca_street_name </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">varchar</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">60</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> ca_street_type </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">char</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">15</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> ca_suite_number </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">char</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">10</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> ca_city </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">varchar</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">60</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> ca_county </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">varchar</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">30</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> ca_state </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">char</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> ca_zip </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">char</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">10</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> ca_country </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">varchar</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">20</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> ca_gmt_offset </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">decimal</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">5</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token number">2</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> ca_location_type </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">char</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token number">20</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">DUPLICATE</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">KEY</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">ca_address_sk</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">DISTRIBUTED</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">BY</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">HASH</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">ca_address_sk</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> BUCKETS </span><span class="token number">12</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain">PROPERTIES </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"replication_num"</span><span class="token plain"> </span><span class="token operator">=</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"1"</span><span class="token plain"></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></span></code></pre><div class=buttonGroup__atx><button type=button aria-label="Copy code to clipboard" title=Copy class=clean-btn><span class=copyButtonIcons_eSgA aria-hidden=true><svg viewBox="0 0 24 24" class=copyButtonIcon_y97N><path fill=currentColor d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"/></svg><svg viewBox="0 0 24 24" class=copyButtonSuccessIcon_LjdS><path fill=currentColor d=M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z /></svg></span></button></div></div></div>
<p>Execute the following command on the terminal to download the data to the local computer and load the data into the table using the Stream Load method:</p>
<div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#F8F8F2;--prism-background-color:#282A36><div class=codeBlockContent_biex><pre tabindex=0 class="prism-code language-shell codeBlock_bY9V thin-scrollbar" style=color:#F8F8F2;background-color:#282A36><code class=codeBlockLines_e6Vv><span class=token-line style=color:#F8F8F2><span class="token plain">curl -L https://cdn.selectdb.com/static/doc_ddl_dir_d27a752a7b.tar -o - | tar -Jxf -</span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain" style=display:inline-block></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain">curl --location-trusted \</span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain">-u "root:" \</span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain">-H "column_separator:|" \</span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain">-H "columns: i_item_sk, i_item_id, i_rec_start_date, i_rec_end_date, i_item_desc, i_current_price, i_wholesale_cost, i_brand_id, i_brand, i_class_id, i_class, i_category_id, i_category, i_manufact_id, i_manufact, i_size, i_formulation, i_color, i_units, i_container, i_manager_id, i_product_name" \</span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain">-T "doc_ddl_dir/item_1_10.dat" \</span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain">http://127.0.0.1:8030/api/doc_tpcds/item/_stream_load</span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain" style=display:inline-block></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain">curl --location-trusted \</span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain">-u "root:" \</span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain">-H "column_separator:|" \</span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain">-H "columns: d_date_sk, d_date_id, d_date, d_month_seq, d_week_seq, d_quarter_seq, d_year, d_dow, d_moy, d_dom, d_qoy, d_fy_year, d_fy_quarter_seq, d_fy_week_seq, d_day_name, d_quarter_name, d_holiday, d_weekend, d_following_holiday, d_first_dom, d_last_dom, d_same_day_ly, d_same_day_lq, d_current_day, d_current_week, d_current_month, d_current_quarter, d_current_year" \</span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain">-T "doc_ddl_dir/date_dim_1_10.dat" \</span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain">http://127.0.0.1:8030/api/doc_tpcds/date_dim/_stream_load</span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain" style=display:inline-block></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain">curl --location-trusted \</span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain">-u "root:" \</span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain">-H "column_separator:|" \</span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain">-H "columns: ss_sold_date_sk, ss_sold_time_sk, ss_item_sk, ss_customer_sk, ss_cdemo_sk, ss_hdemo_sk, ss_addr_sk, ss_store_sk, ss_promo_sk, ss_ticket_number, ss_quantity, ss_wholesale_cost, ss_list_price, ss_sales_price, ss_ext_discount_amt, ss_ext_sales_price, ss_ext_wholesale_cost, ss_ext_list_price, ss_ext_tax, ss_coupon_amt, ss_net_paid, ss_net_paid_inc_tax, ss_net_profit" \</span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain">-T "doc_ddl_dir/store_sales.csv" \</span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain">http://127.0.0.1:8030/api/doc_tpcds/store_sales/_stream_load</span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain" style=display:inline-block></span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain">curl --location-trusted \</span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain">-u "root:" \</span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain">-H "column_separator:|" \</span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain">-H "ca_address_sk, ca_address_id, ca_street_number, ca_street_name, ca_street_type, ca_suite_number, ca_city, ca_county, ca_state, ca_zip, ca_country, ca_gmt_offset, ca_location_type" \</span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain">-T "doc_ddl_dir/customer_address_1_10.dat" \</span><br></span><span class=token-line style=color:#F8F8F2><span class="token plain">http://127.0.0.1:8030/api/doc_tpcds/customer_address/_stream_load</span><br></span></code></pre><div class=buttonGroup__atx><button type=button aria-label="Copy code to clipboard" title=Copy class=clean-btn><span class=copyButtonIcons_eSgA aria-hidden=true><svg viewBox="0 0 24 24" class=copyButtonIcon_y97N><path fill=currentColor d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"/></svg><svg viewBox="0 0 24 24" class=copyButtonSuccessIcon_LjdS><path fill=currentColor d=M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z /></svg></span></button></div></div></div>
<p>The data files <code>item_1_10.dat</code>, <code>date-dim_1_10.dat</code>, <code>store_stales.csv</code>, and <code>customer-address_1_10.dat</code> can be downloaded by clicking on the <a href=https://cdn.selectdb.com/static/doc_ddl_dir_d27a752a7b.tar target=_blank rel="noopener noreferrer">link</a>.</div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class=col></div><div class="col lastUpdated_JAkA"><span class=theme-last-updated>Last updated<!-- --> on <b><time datetime=2026-01-29T12:12:02.000Z itemprop=dateModified>Jan 29, 2026</time></b></span></div></div></footer></article><div class="flex items-center text-sm lg:text-base justify-end lg:col mt-10"><a href="https://github.com/apache/doris-website/issues/new?title=Issue on docs&body=Path:false" target=_blank rel="noopener noreferrer" class="lg:mr-6 footerBtn_e3I8"><svg width=20 height=20 viewBox="0 0 20 20" fill=none><path d="M9.48038 2.9C9.71132 2.5 10.2887 2.5 10.5196 2.9L18.1406 16.1C18.3716 16.5 18.0829 17 17.621 17H2.37898C1.9171 17 1.62842 16.5 1.85936 16.1L9.48038 2.9Z" stroke=currentColor stroke-width=1.2 stroke-linecap=round /><path d="M10.5699 7.9516C10.5874 7.5628 10.2769 7.23804 9.88766 7.23804C9.49847 7.23804 9.18796 7.5628 9.20543 7.9516L9.41597 12.6385C9.42731 12.8908 9.63513 13.0895 9.88766 13.0895C10.1402 13.0895 10.348 12.8908 10.3593 12.6385L10.5699 7.9516ZM9.89338 13.7638C9.65338 13.7638 9.44766 13.8323 9.28766 13.9923C9.12766 14.1409 9.04766 14.3352 9.04766 14.5752C9.04766 14.8152 9.12766 15.0095 9.28766 15.1695C9.45909 15.318 9.6648 15.398 9.89338 15.398C10.1219 15.398 10.3162 15.318 10.4762 15.158C10.6477 14.998 10.7277 14.8038 10.7277 14.5752C10.7277 14.3352 10.6477 14.1409 10.4762 13.9923C10.3162 13.8323 10.1219 13.7638 9.89338 13.7638Z" fill=currentColor /></svg> <span class=ml-2>Report issue</span></a></div><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href=/docs/dev/query-data/multi-dimensional-analytics/><div class=pagination-nav__sublabel>Previous</div><div class=pagination-nav__label>Multi-Dimensional Analytics</div></a><a class="pagination-nav__link pagination-nav__link--next" href=/docs/dev/query-data/cte/><div class=pagination-nav__sublabel>Next</div><div class=pagination-nav__label>Common Table Expression</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_jeP5 thin-scrollbar toc-container theme-doc-toc-desktop"><div><a href=/><div class="toc-icon-content group"><svg width=21 height=20 fill=currentColor viewBox="0 0 21 20" class=group-hover:text-primary><path fill-rule=evenodd d="M3.835 6.44a1 1 0 0 0-.445.832v8.939c0 .436.354.79.79.79H16.81a.79.79 0 0 0 .79-.79V7.272a1 1 0 0 0-.446-.832L11.05 2.37a1 1 0 0 0-1.11 0zm7.26 4.16a.6.6 0 1 0-1.2 0v3.3a.6.6 0 0 0 1.2 0z" clip-rule=evenodd /></svg><span class=group-hover:text-primary>Doris Homepage</span></div></a><a href=https://github.com/apache/doris/discussions target=_blank rel="noopener noreferrer" class="toc-icon-content group"><svg class=group-hover:text-primary width=21 height=20 fill=currentColor viewBox="0 0 21 20"><g clip-path=url(#a)><g clip-path=url(#b)><path d="M10.506 2.698a7.494 7.494 0 0 1 7.5 7.495c0 3.274-2.099 6.058-5.023 7.08-.394.099-.334-.181-.334-.372v-1.299c2.274.266 2.367-1.238 2.519-1.49.308-.526 1.037-.66.82-.911-.518-.267-1.046.067-1.658.97-.442.655-1.305.545-1.743.436a2.1 2.1 0 0 0-.581-1.02c2.356-.421 3.338-1.86 3.338-3.569 0-.83-.273-1.592-.81-2.207.342-1.014-.031-1.882-.082-2.01-.973-.088-1.985.696-2.064.759a7.3 7.3 0 0 0-1.892-.228c-.71 0-1.344.082-1.902.233-.19-.145-1.128-.818-2.033-.736-.048.129-.414.977-.092 1.977a3.3 3.3 0 0 0-.82 2.217c0 1.713.99 3.153 3.352 3.568a2.14 2.14 0 0 0-.638 1.525v1.885c-.014.151 0 .3-.252.3a7.496 7.496 0 0 1 2.395-14.603"/></g></g><defs><clipPath id=a><path fill=#fff d="M0 0h21v20H0z"/></clipPath><clipPath id=b><path fill=#fff d="M18.5 2h-16v16h16z"/></clipPath></defs></svg><span class=group-hover:text-primary>Ask Questions on Discussion</span></a><a href=https://doris.apache.org/slack target=_blank rel="noopener noreferrer" class="toc-icon-content group"><div style=padding:2px><svg class=group-hover:text-primary fill=currentColor viewBox="0 0 1024 1024" version=1.1 p-id=4316 width=16 height=16><path d="M85.333333 625.92a85.333333 85.333333 0 1 0 170.666667 0v-85.333333H170.666667a85.333333 85.333333 0 0 0-85.333334 85.333333z m539.306667-142.506667a85.333333 85.333333 0 0 0 85.333333-85.333333V170.666667a85.333333 85.333333 0 1 0-170.666666 0v227.413333a85.333333 85.333333 0 0 0 86.186666 85.333333z m312.32-85.333333a85.333333 85.333333 0 1 0-170.666667 0v85.333333h85.333334a85.333333 85.333333 0 0 0 87.04-85.333333zM398.506667 540.586667a85.333333 85.333333 0 0 0-85.333334 85.333333V853.333333a85.333333 85.333333 0 1 0 170.666667 0v-227.413333a85.333333 85.333333 0 0 0-85.333333-85.333333zM625.493333 768h-85.333333v85.333333a85.333333 85.333333 0 1 0 85.333333-85.333333zM853.333333 540.586667h-227.84a85.333333 85.333333 0 0 0 0 170.666666H853.333333a85.333333 85.333333 0 0 0 0-170.666666zM398.506667 312.746667H170.666667a85.333333 85.333333 0 1 0 0 170.666666h227.84a85.333333 85.333333 0 0 0 0-170.666666z m0-227.413334a85.333333 85.333333 0 0 0 0 170.666667h85.333333V170.666667a85.333333 85.333333 0 0 0-85.333333-85.333334z" p-id=4317 /></svg></div><span class=group-hover:text-primary>Chat on Slack</span></a></div><div><span class="ml-4 title-text">On This Page</span><ul class="table-of-contents table-of-contents__left-border"><li><a href=#introduction-to-basic-concepts class="table-of-contents__link toc-highlight">Introduction to Basic Concepts</a><ul><li><a href=#processing-order class="table-of-contents__link toc-highlight">Processing Order</a><li><a href=#result-set-partitioning class="table-of-contents__link toc-highlight">Result Set Partitioning</a><li><a href=#window class="table-of-contents__link toc-highlight">Window</a><li><a href=#current-row class="table-of-contents__link toc-highlight">Current Row</a></ul><li><a href=#sorting-function class="table-of-contents__link toc-highlight">Sorting Function</a><ul><li><a href=#ntile-function class="table-of-contents__link toc-highlight">NTILE Function</a></ul><li><a href=#analytic-functions class="table-of-contents__link toc-highlight">Analytic Functions</a><ul><li><a href=#using-the-analytic-function-sum-to-calculate-cumulative-values class="table-of-contents__link toc-highlight">Using the Analytic Function SUM to Calculate Cumulative Values</a><li><a href=#using-the-analytic-function-avg-to-calculate-moving-averages class="table-of-contents__link toc-highlight">Using the Analytic Function AVG to Calculate Moving Averages</a></ul><li><a href=#reporting-function class="table-of-contents__link toc-highlight">Reporting Function</a><li><a href=#lag--lead class="table-of-contents__link toc-highlight">LAG / LEAD</a><li><a href=#examples class="table-of-contents__link toc-highlight">Examples</a><li><a href=#reference class="table-of-contents__link toc-highlight">Reference</a></ul></div></div></div></div></div></main></div></div></div><div class="footer pt-16 pb-10"><div class=container><div class=footer-box><div class=left><img src=/images/asf_logo_apache.svg alt="" class="footer__logo themedComponent_mlkZ themedComponent--light_NVdE"><img src=/images/asf_logo_apache.svg alt="" class="footer__logo themedComponent_mlkZ themedComponent--dark_xIcU"><div class="row footer__links"><div class="col footer__col"><div class=footer__title>ASF</div><ul class="footer__items clean-list"><li class=footer__item><a href=https://www.apache.org/ target=_blank rel="noopener noreferrer" class=footer__link-item>Foundation<svg width=13.5 height=13.5 aria-hidden=true viewBox="0 0 24 24" class=iconExternalLink_nPIU><path fill=currentColor d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></svg></a><li class=footer__item><a href=https://www.apache.org/licenses/ target=_blank rel="noopener noreferrer" class=footer__link-item>License<svg width=13.5 height=13.5 aria-hidden=true viewBox="0 0 24 24" class=iconExternalLink_nPIU><path fill=currentColor d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></svg></a><li class=footer__item><a href=https://www.apache.org/events/current-event target=_blank rel="noopener noreferrer" class=footer__link-item>Events<svg width=13.5 height=13.5 aria-hidden=true viewBox="0 0 24 24" class=iconExternalLink_nPIU><path fill=currentColor d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></svg></a><li class=footer__item><a href=https://www.apache.org/foundation/sponsorship.html target=_blank rel="noopener noreferrer" class=footer__link-item>Sponsorship<svg width=13.5 height=13.5 aria-hidden=true viewBox="0 0 24 24" class=iconExternalLink_nPIU><path fill=currentColor d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></svg></a><li class=footer__item><a href=https://privacy.apache.org/policies/privacy-policy-public.html target=_blank rel="noopener noreferrer" class=footer__link-item>Privacy<svg width=13.5 height=13.5 aria-hidden=true viewBox="0 0 24 24" class=iconExternalLink_nPIU><path fill=currentColor d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></svg></a><li class=footer__item><a href=https://www.apache.org/security/ target=_blank rel="noopener noreferrer" class=footer__link-item>Security<svg width=13.5 height=13.5 aria-hidden=true viewBox="0 0 24 24" class=iconExternalLink_nPIU><path fill=currentColor d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></svg></a><li class=footer__item><a href=https://www.apache.org/foundation/thanks.html target=_blank rel="noopener noreferrer" class=footer__link-item>Thanks<svg width=13.5 height=13.5 aria-hidden=true viewBox="0 0 24 24" class=iconExternalLink_nPIU><path fill=currentColor d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></svg></a></ul></div><div class="col footer__col"><div class=footer__title>Resources</div><ul class="footer__items clean-list"><li class=footer__item><a class=footer__link-item href=/download/>Download</a><li class=footer__item><a class=footer__link-item href=/blog/>Blog</a><li class=footer__item><a class=footer__link-item href=/ecosystem/cluster-management/>Ecosystem</a><li class=footer__item><a class=footer__link-item href=/users/>Users</a><li class=footer__item><a href=https://github.com/apache/doris/discussions target=_blank rel="noopener noreferrer" class=footer__link-item>Discussions<svg width=13.5 height=13.5 aria-hidden=true viewBox="0 0 24 24" class=iconExternalLink_nPIU><path fill=currentColor d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></svg></a></ul></div><div class="col footer__col"><div class=footer__title>Community</div><ul class="footer__items clean-list"><li class=footer__item><a class=footer__link-item href=/community/how-to-contribute/contribute-to-doris/>How to contribute</a><li class=footer__item><a href=https://github.com/apache/doris/ target=_blank rel="noopener noreferrer" class=footer__link-item>Source code<svg width=13.5 height=13.5 aria-hidden=true viewBox="0 0 24 24" class=iconExternalLink_nPIU><path fill=currentColor d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></svg></a><li class=footer__item><a class=footer__link-item href=/community/team/>Doris team</a><li class=footer__item><a href=https://github.com/apache/doris/issues/30669 target=_blank rel="noopener noreferrer" class=footer__link-item>Roadmap<svg width=13.5 height=13.5 aria-hidden=true viewBox="0 0 24 24" class=iconExternalLink_nPIU><path fill=currentColor d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></svg></a><li class=footer__item><a href=https://cwiki.apache.org/confluence/display/DORIS/Doris+Improvement+Proposals target=_blank rel="noopener noreferrer" class=footer__link-item>Improvement proposal<svg width=13.5 height=13.5 aria-hidden=true viewBox="0 0 24 24" class=iconExternalLink_nPIU><path fill=currentColor d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></svg></a></ul></div></div></div><div class=right><div class=footer__title>Join the community</div><div class=social-list><div class=social><a href=mailto:dev@doris.apache.org target=_blank title=mail class=item><svg width=2em height=2em viewBox="0 0 32 32" fill=none><path d="M5.6003 6H26.3997C27.8186 6 28.982 7.10964 29 8.46946L16.0045 15.454L3.01202 8.47829C3.02405 7.11258 4.1784 6 5.6003 6ZM3.01202 11.1508L3 23.5011C3 24.8756 4.16938 26 5.6003 26H26.3997C27.8306 26 29 24.8756 29 23.5011V11.145L16.3111 17.8028C16.1157 17.9058 15.8813 17.9058 15.6889 17.8028L3.01202 11.1508Z" fill=currentColor /></svg></a><a href=https://github.com/apache/doris target=_blank title=github class=item><svg width=2em height=2em viewBox="0 0 32 32" fill=none><path d="M16.0001 2.66675C8.63342 2.66675 2.66675 8.63341 2.66675 16.0001C2.66524 18.7991 3.54517 21.5276 5.1817 23.7983C6.81824 26.0691 9.12828 27.7668 11.7841 28.6508C12.4508 28.7668 12.7001 28.3668 12.7001 28.0161C12.7001 27.7001 12.6828 26.6508 12.6828 25.5334C9.33342 26.1508 8.46675 24.7174 8.20008 23.9668C8.04942 23.5828 7.40008 22.4001 6.83342 22.0828C6.36675 21.8334 5.70008 21.2161 6.81608 21.2001C7.86675 21.1828 8.61608 22.1668 8.86675 22.5668C10.0668 24.5828 11.9841 24.0161 12.7494 23.6668C12.8668 22.8001 13.2161 22.2174 13.6001 21.8841C10.6334 21.5508 7.53342 20.4001 7.53342 15.3001C7.53342 13.8494 8.04942 12.6507 8.90008 11.7161C8.76675 11.3827 8.30008 10.0161 9.03342 8.18275C9.03342 8.18275 10.1494 7.83342 12.7001 9.55075C13.7855 9.2495 14.907 9.09787 16.0334 9.10008C17.1668 9.10008 18.3001 9.24942 19.3668 9.54942C21.9161 7.81608 23.0334 8.18408 23.0334 8.18408C23.7668 10.0174 23.3001 11.3841 23.1668 11.7174C24.0161 12.6507 24.5334 13.8334 24.5334 15.3001C24.5334 20.4174 21.4174 21.5508 18.4508 21.8841C18.9334 22.3001 19.3508 23.1001 19.3508 24.3508C19.3508 26.1334 19.3334 27.5668 19.3334 28.0174C19.3334 28.3668 19.5841 28.7828 20.2508 28.6494C22.8975 27.7558 25.1973 26.0547 26.8266 23.7856C28.4559 21.5165 29.3327 18.7936 29.3334 16.0001C29.3334 8.63341 23.3668 2.66675 16.0001 2.66675V2.66675Z" fill=currentColor /></svg></a><a href=https://twitter.com/doris_apache target=_blank title=twitter class=item><svg width=2em height=2em viewBox="0 0 32 32" fill=none><path d="M4.625 4.625H11.2809L27.375 27.375H20.7191L4.625 4.625ZM7.52549 6.10639L21.5236 25.8936H24.4746L10.4764 6.10639H7.52549Z" fill=currentColor /><path d="M14.4268 18.4803L6.53447 27.375H4.625L13.5581 17.2525L14.4268 18.4803ZM18.1299 14.3066L26.7203 4.625H24.7017L17.2525 13.0662L18.1299 14.3066Z" fill=currentColor /></svg></a><a href=https://doris.apache.org/slack title=slack target=_blank class=item><svg width=2em height=2em viewBox="0 0 32 32" fill=none><g clip-path=url(#clip0_125_278)><path d="M12.5875 16.6906C11.0844 16.6906 9.86562 17.9094 9.86562 19.4125V26.2375C9.86562 26.9594 10.1524 27.6517 10.6628 28.1622C11.1733 28.6726 11.8656 28.9594 12.5875 28.9594C13.3094 28.9594 14.0017 28.6726 14.5122 28.1622C15.0226 27.6517 15.3094 26.9594 15.3094 26.2375V19.4531C15.3094 17.9094 14.0906 16.6906 12.5875 16.6906ZM3 19.4531C3 20.175 3.28677 20.8673 3.79722 21.3778C4.30767 21.8882 4.99999 22.175 5.72187 22.175C6.44376 22.175 7.13608 21.8882 7.64653 21.3778C8.15698 20.8673 8.44375 20.175 8.44375 19.4531V16.7312H5.7625C4.25938 16.6906 3 17.9094 3 19.4531ZM12.5875 3C11.8656 3 11.1733 3.28677 10.6628 3.79722C10.1524 4.30767 9.86562 4.99999 9.86562 5.72187C9.86562 6.44376 10.1524 7.13608 10.6628 7.64653C11.1733 8.15698 11.8656 8.44375 12.5875 8.44375H15.3094V5.72187C15.3094 4.21875 14.0906 3 12.5875 3ZM5.72187 15.3094H12.5469C13.2688 15.3094 13.9611 15.0226 14.4715 14.5122C14.982 14.0017 15.2688 13.3094 15.2688 12.5875C15.2688 11.8656 14.982 11.1733 14.4715 10.6628C13.9611 10.1524 13.2688 9.86562 12.5469 9.86562H5.72187C4.99999 9.86562 4.30767 10.1524 3.79722 10.6628C3.28677 11.1733 3 11.8656 3 12.5875C3 13.3094 3.28677 14.0017 3.79722 14.5122C4.30767 15.0226 4.99999 15.3094 5.72187 15.3094ZM26.2375 9.86562C24.7344 9.86562 23.5156 11.0844 23.5156 12.5875V15.3094H26.2375C26.9594 15.3094 27.6517 15.0226 28.1622 14.5122C28.6726 14.0017 28.9594 13.3094 28.9594 12.5875C28.9594 11.8656 28.6726 11.1733 28.1622 10.6628C27.6517 10.1524 26.9594 9.86562 26.2375 9.86562ZM16.6906 5.72187V12.5875C16.6906 13.3094 16.9774 14.0017 17.4878 14.5122C17.9983 15.0226 18.6906 15.3094 19.4125 15.3094C20.1344 15.3094 20.8267 15.0226 21.3372 14.5122C21.8476 14.0017 22.1344 13.3094 22.1344 12.5875V5.72187C22.1344 4.99999 21.8476 4.30767 21.3372 3.79722C20.8267 3.28677 20.1344 3 19.4125 3C18.6906 3 17.9983 3.28677 17.4878 3.79722C16.9774 4.30767 16.6906 4.99999 16.6906 5.72187ZM22.1344 26.2781C22.1344 24.775 20.9156 23.5562 19.4125 23.5562H16.6906V26.2781C16.6906 27 16.9774 27.6923 17.4878 28.2028C17.9983 28.7132 18.6906 29 19.4125 29C20.1344 29 20.8267 28.7132 21.3372 28.2028C21.8476 27.6923 22.1344 27 22.1344 26.2781ZM26.2781 16.6906H19.4125C18.6906 16.6906 17.9983 16.9774 17.4878 17.4878C16.9774 17.9983 16.6906 18.6906 16.6906 19.4125C16.6906 20.1344 16.9774 20.8267 17.4878 21.3372C17.9983 21.8476 18.6906 22.1344 19.4125 22.1344H26.2375C27.7406 22.1344 28.9594 20.9156 28.9594 19.4125C29 17.9094 27.7812 16.6906 26.2781 16.6906Z" fill=currentColor /></g><defs><clipPath id=clip0_125_278><rect width=26 height=26 fill=currentColor transform="translate(3 3)"/></clipPath></defs></svg></a></div><div class=social><a href=https://www.youtube.com/hashtag/apachedoris title=youtube target=_blank class=item><svg width=2em height=2em viewBox="0 0 32 32" fill=none><path d="M28.5167 7.83429C28.9436 8.25423 29.2532 8.77539 29.4154 9.34742C29.8205 11.5462 30.0159 13.7775 29.999 16.0121C30.0144 18.2382 29.819 20.4609 29.4154 22.6515C29.2532 23.2235 28.9436 23.7446 28.5167 24.1645C28.0898 24.5845 27.5601 24.889 26.9785 25.0486C24.7728 25.625 16.0124 25.625 16.0124 25.625C16.0124 25.625 7.22652 25.625 5.04638 25.0486C4.46489 24.889 3.9351 24.5845 3.5082 24.1645C3.08132 23.7446 2.77176 23.2235 2.60948 22.6515C2.19736 20.4617 1.9934 18.239 2.00025 16.0121C1.9918 13.7767 2.19577 11.5455 2.60948 9.34742C2.77176 8.77539 3.08132 8.25423 3.5082 7.83429C3.9351 7.41436 4.46489 7.10985 5.04638 6.95021C7.25103 6.36354 16.0124 6.37502 16.0124 6.37502C16.0124 6.37502 24.796 6.37502 26.9785 6.95021C27.5601 7.10985 28.0898 7.41436 28.5167 7.83429ZM12.5 21.25L21.25 16.008L12.5 10.75V21.25Z" fill=currentColor /></svg></a><a href=https://www.linkedin.com/company/doris-apache/ title=linkedin target=_blank class=item><svg width=2rem height=2rem viewBox="0 0 32 32" fill=none><path d="M4.29925 26.9996H9.66738V11.6781H4.29925V26.9996ZM22.1628 11.1949C19.9409 11.1949 18.7157 11.9388 17.3054 13.7407V11.6777H11.9459V26.9996H17.305V18.6738C17.305 16.9168 18.145 15.1982 20.1535 15.1982C22.162 15.1982 22.6559 16.9164 22.6559 18.632V27H28V18.2902C28 12.2386 24.3854 11.1949 22.1628 11.1949ZM6.99325 4C5.3395 4 4 5.21047 4 6.7046C4 8.19759 5.3395 9.40617 6.99325 9.40617C8.6455 9.40617 9.985 8.19722 9.985 6.7046C9.985 5.21047 8.6455 4 6.99325 4Z" fill=white /></svg></a><a href=https://medium.com/@ApacheDoris title=medium target=_blank class=item><svg width=2em height=2em viewBox="0 0 32 32" fill=none><g id=Frame><path id=Vector d="M17.7967 16.5385C17.8029 18.53 16.9746 20.4425 15.4937 21.8559C14.0128 23.2693 12.0004 24.0681 9.89836 24.0769C7.79633 24.0681 5.78391 23.2693 4.30302 21.8559C2.82212 20.4425 1.99383 18.53 2.00003 16.5385C1.99383 14.5469 2.82212 12.6344 4.30302 11.221C5.78391 9.80759 7.79633 9.00878 9.89836 9C12.0004 9.00878 14.0128 9.80759 15.4937 11.221C16.9746 12.6344 17.8029 14.5469 17.7967 16.5385ZM26.4533 16.5385C26.4533 20.4514 24.6917 23.6348 22.51 23.6348C20.3283 23.6348 18.555 20.4514 18.555 16.5385C18.555 12.6255 20.3283 9.44214 22.51 9.44214C24.6917 9.44214 26.4533 12.6255 26.4533 16.5385ZM30 16.5385C30 20.0424 29.3817 22.8942 28.6117 22.8942C27.8417 22.8942 27.2233 20.0424 27.2233 16.5385C27.2233 13.0345 27.8417 10.1827 28.6117 10.1827C29.3817 10.1827 30 13.0345 30 16.5385Z" fill=currentColor /></g></svg></a></div></div></div></div><div class=footer__copyright>Copyright © 2026 The Apache Software Foundation,Licensed under the <a href=https://www.apache.org/licenses/LICENSE-2.0 target=_blank>Apache License, Version 2.0</a>. Apache, Doris, Apache Doris, the Apache feather logo and the Apache Doris logo are trademarks of The Apache Software Foundation.</div></div></div></div>