blob: 1498ccdbeef23a5bb3a6c947b3e3ba6083c93415 [file] [log] [blame]
"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[1160],{15680:(e,n,t)=>{t.d(n,{xA:()=>y,yg:()=>o});var a=t(96540);function l(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function r(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function i(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?r(Object(t),!0).forEach((function(n){l(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):r(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function g(e,n){if(null==e)return{};var t,a,l=function(e,n){if(null==e)return{};var t,a,l={},r=Object.keys(e);for(a=0;a<r.length;a++)t=r[a],n.indexOf(t)>=0||(l[t]=e[t]);return l}(e,n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a<r.length;a++)t=r[a],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(l[t]=e[t])}return l}var d=a.createContext({}),p=function(e){var n=a.useContext(d),t=n;return e&&(t="function"==typeof e?e(n):i(i({},n),e)),t},y=function(e){var n=p(e.components);return a.createElement(d.Provider,{value:n},e.children)},m="mdxType",N={inlineCode:"code",wrapper:function(e){var n=e.children;return a.createElement(a.Fragment,{},n)}},u=a.forwardRef((function(e,n){var t=e.components,l=e.mdxType,r=e.originalType,d=e.parentName,y=g(e,["components","mdxType","originalType","parentName"]),m=p(t),u=l,o=m["".concat(d,".").concat(u)]||m[u]||N[u]||r;return t?a.createElement(o,i(i({ref:n},y),{},{components:t})):a.createElement(o,i({ref:n},y))}));function o(e,n){var t=arguments,l=n&&n.mdxType;if("string"==typeof e||l){var r=t.length,i=new Array(r);i[0]=u;var g={};for(var d in n)hasOwnProperty.call(n,d)&&(g[d]=n[d]);g.originalType=e,g[m]="string"==typeof e?e:l,i[1]=g;for(var p=2;p<r;p++)i[p]=t[p];return a.createElement.apply(null,i)}return a.createElement.apply(null,t)}u.displayName="MDXCreateElement"},92736:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>y,contentTitle:()=>d,default:()=>o,frontMatter:()=>g,metadata:()=>p,toc:()=>m});var a=t(58168),l=t(98587),r=(t(96540),t(15680)),i=["components"],g={id:"sql-window-functions",title:"Window functions"},d=void 0,p={unversionedId:"querying/sql-window-functions",id:"querying/sql-window-functions",title:"Window functions",description:"\x3c!--",source:"@site/docs/29.0.0/querying/sql-window-functions.md",sourceDirName:"querying",slug:"/querying/sql-window-functions",permalink:"/docs/29.0.0/querying/sql-window-functions",draft:!1,tags:[],version:"current",frontMatter:{id:"sql-window-functions",title:"Window functions"},sidebar:"docs",previous:{title:"Aggregation functions",permalink:"/docs/29.0.0/querying/sql-aggregations"},next:{title:"Array functions",permalink:"/docs/29.0.0/querying/sql-array-functions"}},y={},m=[{value:"Define a window with the OVER clause",id:"define-a-window-with-the-over-clause",level:2},{value:"Window function reference",id:"window-function-reference",level:2},{value:"Examples",id:"examples",level:2},{value:"Known issues",id:"known-issues",level:2}],N={toc:m},u="wrapper";function o(e){var n=e.components,t=(0,l.A)(e,i);return(0,r.yg)(u,(0,a.A)({},N,t,{components:n,mdxType:"MDXLayout"}),(0,r.yg)("admonition",{type:"info"},(0,r.yg)("p",{parentName:"admonition"},"Apache Druid supports two query languages: ",(0,r.yg)("a",{parentName:"p",href:"/docs/29.0.0/querying/sql"},"Druid SQL")," and ",(0,r.yg)("a",{parentName:"p",href:"/docs/29.0.0/querying/"},"native queries"),".\nThis document describes the SQL language."),(0,r.yg)("p",{parentName:"admonition"},"Window functions are an ",(0,r.yg)("a",{parentName:"p",href:"/docs/29.0.0/development/experimental"},"experimental")," feature.\nDevelopment and testing are still at early stage. Feel free to try window functions and provide your feedback.\nWindows functions are not currently supported by multi-stage-query engine so you cannot use them in SQL-based ingestion. "),(0,r.yg)("p",{parentName:"admonition"},"Set the context parameter ",(0,r.yg)("inlineCode",{parentName:"p"},"enableWindowing: true")," to use window functions.")),(0,r.yg)("p",null,"Window functions in Apache Druid produce values based upon the relationship of one row within a window of rows to the other rows within the same window. A window is a group of related rows within a result set. For example, rows with the same value for a specific dimension."),(0,r.yg)("p",null,"The following example organizes results with the same ",(0,r.yg)("inlineCode",{parentName:"p"},"channel")," value into windows. For each window, the query returns the rank of each row in ascending order based upon its ",(0,r.yg)("inlineCode",{parentName:"p"},"delta")," value."),(0,r.yg)("p",null,"Window functions in Druid require a GROUP BY statement. Druid performs the row-level aggregations for the GROUP BY before performing the window function calculations."),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-sql"},"SELECT FLOOR(__time TO DAY) AS event_time,\n channel,\n ABS(delta) AS change,\n RANK() OVER w AS rank_value\nFROM wikipedia\nWHERE channel in ('#kk.wikipedia', '#lt.wikipedia')\nAND '2016-06-28' > FLOOR(__time TO DAY) > '2016-06-26'\nGROUP BY channel, ABS(delta), __time\nWINDOW w AS (PARTITION BY channel ORDER BY ABS(delta) ASC)\n")),(0,r.yg)("details",null,(0,r.yg)("summary",null," View results "),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"th"},"event_time")),(0,r.yg)("th",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"th"},"channel")),(0,r.yg)("th",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"th"},"change")),(0,r.yg)("th",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"th"},"rank_value")))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"2016-06-27T00:00:00.000Z")),(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"#kk.wikipedia")),(0,r.yg)("td",{parentName:"tr",align:null},"1"),(0,r.yg)("td",{parentName:"tr",align:null},"1")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"2016-06-27T00:00:00.000Z")),(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"#kk.wikipedia")),(0,r.yg)("td",{parentName:"tr",align:null},"1"),(0,r.yg)("td",{parentName:"tr",align:null},"1")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"2016-06-27T00:00:00.000Z")),(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"#kk.wikipedia")),(0,r.yg)("td",{parentName:"tr",align:null},"7"),(0,r.yg)("td",{parentName:"tr",align:null},"3")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"2016-06-27T00:00:00.000Z")),(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"#kk.wikipedia")),(0,r.yg)("td",{parentName:"tr",align:null},"56"),(0,r.yg)("td",{parentName:"tr",align:null},"4")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"2016-06-27T00:00:00.000Z")),(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"#kk.wikipedia")),(0,r.yg)("td",{parentName:"tr",align:null},"56"),(0,r.yg)("td",{parentName:"tr",align:null},"4")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"2016-06-27T00:00:00.000Z")),(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"#kk.wikipedia")),(0,r.yg)("td",{parentName:"tr",align:null},"63"),(0,r.yg)("td",{parentName:"tr",align:null},"6")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"2016-06-27T00:00:00.000Z")),(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"#kk.wikipedia")),(0,r.yg)("td",{parentName:"tr",align:null},"91"),(0,r.yg)("td",{parentName:"tr",align:null},"7")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"2016-06-27T00:00:00.000Z")),(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"#kk.wikipedia")),(0,r.yg)("td",{parentName:"tr",align:null},"2440"),(0,r.yg)("td",{parentName:"tr",align:null},"8")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"2016-06-27T00:00:00.000Z")),(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"#kk.wikipedia")),(0,r.yg)("td",{parentName:"tr",align:null},"2703"),(0,r.yg)("td",{parentName:"tr",align:null},"9")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"2016-06-27T00:00:00.000Z")),(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"#kk.wikipedia")),(0,r.yg)("td",{parentName:"tr",align:null},"6900"),(0,r.yg)("td",{parentName:"tr",align:null},"10")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"2016-06-27T00:00:00.000Z")),(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"#lt.wikipedia")),(0,r.yg)("td",{parentName:"tr",align:null},"1"),(0,r.yg)("td",{parentName:"tr",align:null},"1")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"2016-06-27T00:00:00.000Z")),(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"#lt.wikipedia")),(0,r.yg)("td",{parentName:"tr",align:null},"2"),(0,r.yg)("td",{parentName:"tr",align:null},"2")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"2016-06-27T00:00:00.000Z")),(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"#lt.wikipedia")),(0,r.yg)("td",{parentName:"tr",align:null},"13"),(0,r.yg)("td",{parentName:"tr",align:null},"3")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"2016-06-27T00:00:00.000Z")),(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"#lt.wikipedia")),(0,r.yg)("td",{parentName:"tr",align:null},"28"),(0,r.yg)("td",{parentName:"tr",align:null},"4")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"2016-06-27T00:00:00.000Z")),(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"#lt.wikipedia")),(0,r.yg)("td",{parentName:"tr",align:null},"53"),(0,r.yg)("td",{parentName:"tr",align:null},"5")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"2016-06-27T00:00:00.000Z")),(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"#lt.wikipedia")),(0,r.yg)("td",{parentName:"tr",align:null},"56"),(0,r.yg)("td",{parentName:"tr",align:null},"6")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"2016-06-27T00:00:00.000Z")),(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"#lt.wikipedia")),(0,r.yg)("td",{parentName:"tr",align:null},"59"),(0,r.yg)("td",{parentName:"tr",align:null},"7")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"2016-06-27T00:00:00.000Z")),(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"#lt.wikipedia")),(0,r.yg)("td",{parentName:"tr",align:null},"391"),(0,r.yg)("td",{parentName:"tr",align:null},"8")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"2016-06-27T00:00:00.000Z")),(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"#lt.wikipedia")),(0,r.yg)("td",{parentName:"tr",align:null},"894"),(0,r.yg)("td",{parentName:"tr",align:null},"9")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"2016-06-27T00:00:00.000Z")),(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"#lt.wikipedia")),(0,r.yg)("td",{parentName:"tr",align:null},"4358"),(0,r.yg)("td",{parentName:"tr",align:null},"10"))))),(0,r.yg)("p",null,"Window functions are similar to ",(0,r.yg)("a",{parentName:"p",href:"/docs/29.0.0/querying/aggregations"},"aggregation functions"),". "),(0,r.yg)("p",null,"You can use the OVER clause to treat other Druid aggregation functions as window functions. For example, the sum of a value for rows within a window."),(0,r.yg)("p",null,"Window functions support aliasing."),(0,r.yg)("h2",{id:"define-a-window-with-the-over-clause"},"Define a window with the OVER clause"),(0,r.yg)("p",null,"The OVER clause defines the query windows for window functions as follows:"),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},"PARTITION BY indicates the dimension that defines the rows within the window"),(0,r.yg)("li",{parentName:"ul"},"ORDER BY specifies the order of the rows within the windows.")),(0,r.yg)("admonition",{type:"note"},(0,r.yg)("p",{parentName:"admonition"},"Sometimes windows are called partitions. However, the partitioning for window functions are a shuffle (partition) of the result set created at query time and is not to be confused with Druid's segment partitioning feature which partitions data at ingest time.")),(0,r.yg)("p",null,"The following OVER clause example sets the window dimension to ",(0,r.yg)("inlineCode",{parentName:"p"},"channel")," and orders the results by the absolute value of ",(0,r.yg)("inlineCode",{parentName:"p"},"delta")," ascending:"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-sql"},"...\nRANK() OVER (PARTITION BY channel ORDER BY ABS(delta) ASC)\n...\n")),(0,r.yg)("h2",{id:"window-function-reference"},"Window function reference"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:null},"Function"),(0,r.yg)("th",{parentName:"tr",align:null},"Notes"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"ROW_NUMBER()")),(0,r.yg)("td",{parentName:"tr",align:null},"Returns the number of the row within the window")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"RANK()")),(0,r.yg)("td",{parentName:"tr",align:null},"Returns the rank for a row within a window")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"DENSE_RANK()")),(0,r.yg)("td",{parentName:"tr",align:null},"Returns the rank for a row within a window without gaps. For example, if two rows tie for rank of 1, the subsequent row is ranked 2.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"PERCENT_RANK()")),(0,r.yg)("td",{parentName:"tr",align:null},"Returns the rank of the row calculated as a percentage according to the formula: ",(0,r.yg)("inlineCode",{parentName:"td"},"(rank - 1) / (total window rows - 1)"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"CUME_DIST()")),(0,r.yg)("td",{parentName:"tr",align:null},"Returns the cumulative distribution of the current row within the window calculated as ",(0,r.yg)("inlineCode",{parentName:"td"},"number of window rows at the same rank or higher than current row")," / ",(0,r.yg)("inlineCode",{parentName:"td"},"total window rows"))),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"NTILE(tiles)")),(0,r.yg)("td",{parentName:"tr",align:null},"Divides the rows within a window as evenly as possible into the number of tiles, also called buckets, and returns the value of the tile that the row falls into")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"LAG(expr[, offset])")),(0,r.yg)("td",{parentName:"tr",align:null},"Returns the value evaluated at the row that precedes the current row by the offset number within the window. ",(0,r.yg)("inlineCode",{parentName:"td"},"offset")," defaults to 1 if not provided")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"LEAD(expr[, offset])")),(0,r.yg)("td",{parentName:"tr",align:null},"Returns the value evaluated at the row that follows the current row by the offset number within the window; if there is no such row, returns the given default value. ",(0,r.yg)("inlineCode",{parentName:"td"},"offset")," defaults to 1 if not provided")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"FIRST_VALUE(expr)")),(0,r.yg)("td",{parentName:"tr",align:null},"Returns the value for the expression for the first row within the window")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"LAST_VALUE(expr)")),(0,r.yg)("td",{parentName:"tr",align:null},"Returns the value for the expression for the last row within the window")))),(0,r.yg)("h2",{id:"examples"},"Examples"),(0,r.yg)("p",null,"The following example illustrates all of the built-in window functions to compare the number of characters changed per event for a channel in the Wikipedia data set."),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-sql"},"SELECT FLOOR(__time TO DAY) AS event_time,\n channel,\n ABS(delta) AS change,\n ROW_NUMBER() OVER w AS row_no,\n RANK() OVER w AS rank_no,\n DENSE_RANK() OVER w AS dense_rank_no,\n PERCENT_RANK() OVER w AS pct_rank,\n CUME_DIST() OVER w AS cumulative_dist,\n NTILE(4) OVER w AS ntile_val,\n LAG(ABS(delta), 1, 0) OVER w AS lag_val,\n LEAD(ABS(delta), 1, 0) OVER w AS lead_val,\n FIRST_VALUE(ABS(delta)) OVER w AS first_val,\n LAST_VALUE(ABS(delta)) OVER w AS last_val\nFROM wikipedia\nWHERE channel IN ('#kk.wikipedia', '#lt.wikipedia')\nGROUP BY channel, ABS(delta), FLOOR(__time TO DAY) \nWINDOW w AS (PARTITION BY channel ORDER BY ABS(delta) ASC)\n")),(0,r.yg)("details",null,(0,r.yg)("summary",null," View results "),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"th"},"event_time")),(0,r.yg)("th",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"th"},"channel")),(0,r.yg)("th",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"th"},"change")),(0,r.yg)("th",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"th"},"row_no")),(0,r.yg)("th",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"th"},"rank_no")),(0,r.yg)("th",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"th"},"dense_rank_no")),(0,r.yg)("th",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"th"},"pct_rank")),(0,r.yg)("th",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"th"},"cumulative_dist")),(0,r.yg)("th",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"th"},"ntile_val")),(0,r.yg)("th",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"th"},"lag_val")),(0,r.yg)("th",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"th"},"lead_val")),(0,r.yg)("th",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"th"},"first_val")),(0,r.yg)("th",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"th"},"last_val")))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"2016-06-27T00:00:00.000Z")),(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"#kk.wikipedia")),(0,r.yg)("td",{parentName:"tr",align:null},"1"),(0,r.yg)("td",{parentName:"tr",align:null},"1"),(0,r.yg)("td",{parentName:"tr",align:null},"1"),(0,r.yg)("td",{parentName:"tr",align:null},"1"),(0,r.yg)("td",{parentName:"tr",align:null},"0.0"),(0,r.yg)("td",{parentName:"tr",align:null},"0.125"),(0,r.yg)("td",{parentName:"tr",align:null},"1"),(0,r.yg)("td",{parentName:"tr",align:null},"null"),(0,r.yg)("td",{parentName:"tr",align:null},"7"),(0,r.yg)("td",{parentName:"tr",align:null},"1"),(0,r.yg)("td",{parentName:"tr",align:null},"6900")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"2016-06-27T00:00:00.000Z")),(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"#kk.wikipedia")),(0,r.yg)("td",{parentName:"tr",align:null},"7"),(0,r.yg)("td",{parentName:"tr",align:null},"2"),(0,r.yg)("td",{parentName:"tr",align:null},"2"),(0,r.yg)("td",{parentName:"tr",align:null},"2"),(0,r.yg)("td",{parentName:"tr",align:null},"0.14285714285714285"),(0,r.yg)("td",{parentName:"tr",align:null},"0.25"),(0,r.yg)("td",{parentName:"tr",align:null},"1"),(0,r.yg)("td",{parentName:"tr",align:null},"1"),(0,r.yg)("td",{parentName:"tr",align:null},"56"),(0,r.yg)("td",{parentName:"tr",align:null},"1"),(0,r.yg)("td",{parentName:"tr",align:null},"6900")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"2016-06-27T00:00:00.000Z")),(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"#kk.wikipedia")),(0,r.yg)("td",{parentName:"tr",align:null},"56"),(0,r.yg)("td",{parentName:"tr",align:null},"3"),(0,r.yg)("td",{parentName:"tr",align:null},"3"),(0,r.yg)("td",{parentName:"tr",align:null},"3"),(0,r.yg)("td",{parentName:"tr",align:null},"0.2857142857142857"),(0,r.yg)("td",{parentName:"tr",align:null},"0.375"),(0,r.yg)("td",{parentName:"tr",align:null},"2"),(0,r.yg)("td",{parentName:"tr",align:null},"7"),(0,r.yg)("td",{parentName:"tr",align:null},"63"),(0,r.yg)("td",{parentName:"tr",align:null},"1"),(0,r.yg)("td",{parentName:"tr",align:null},"6900")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"2016-06-27T00:00:00.000Z")),(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"#kk.wikipedia")),(0,r.yg)("td",{parentName:"tr",align:null},"63"),(0,r.yg)("td",{parentName:"tr",align:null},"4"),(0,r.yg)("td",{parentName:"tr",align:null},"4"),(0,r.yg)("td",{parentName:"tr",align:null},"4"),(0,r.yg)("td",{parentName:"tr",align:null},"0.42857142857142855"),(0,r.yg)("td",{parentName:"tr",align:null},"0.5"),(0,r.yg)("td",{parentName:"tr",align:null},"2"),(0,r.yg)("td",{parentName:"tr",align:null},"56"),(0,r.yg)("td",{parentName:"tr",align:null},"91"),(0,r.yg)("td",{parentName:"tr",align:null},"1"),(0,r.yg)("td",{parentName:"tr",align:null},"6900")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"2016-06-27T00:00:00.000Z")),(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"#kk.wikipedia")),(0,r.yg)("td",{parentName:"tr",align:null},"91"),(0,r.yg)("td",{parentName:"tr",align:null},"5"),(0,r.yg)("td",{parentName:"tr",align:null},"5"),(0,r.yg)("td",{parentName:"tr",align:null},"5"),(0,r.yg)("td",{parentName:"tr",align:null},"0.5714285714285714"),(0,r.yg)("td",{parentName:"tr",align:null},"0.625"),(0,r.yg)("td",{parentName:"tr",align:null},"3"),(0,r.yg)("td",{parentName:"tr",align:null},"63"),(0,r.yg)("td",{parentName:"tr",align:null},"2440"),(0,r.yg)("td",{parentName:"tr",align:null},"1"),(0,r.yg)("td",{parentName:"tr",align:null},"6900")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"2016-06-27T00:00:00.000Z")),(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"#kk.wikipedia")),(0,r.yg)("td",{parentName:"tr",align:null},"2440"),(0,r.yg)("td",{parentName:"tr",align:null},"6"),(0,r.yg)("td",{parentName:"tr",align:null},"6"),(0,r.yg)("td",{parentName:"tr",align:null},"6"),(0,r.yg)("td",{parentName:"tr",align:null},"0.7142857142857143"),(0,r.yg)("td",{parentName:"tr",align:null},"0.75"),(0,r.yg)("td",{parentName:"tr",align:null},"3"),(0,r.yg)("td",{parentName:"tr",align:null},"91"),(0,r.yg)("td",{parentName:"tr",align:null},"2703"),(0,r.yg)("td",{parentName:"tr",align:null},"1"),(0,r.yg)("td",{parentName:"tr",align:null},"6900")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"2016-06-27T00:00:00.000Z")),(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"#kk.wikipedia")),(0,r.yg)("td",{parentName:"tr",align:null},"2703"),(0,r.yg)("td",{parentName:"tr",align:null},"7"),(0,r.yg)("td",{parentName:"tr",align:null},"7"),(0,r.yg)("td",{parentName:"tr",align:null},"7"),(0,r.yg)("td",{parentName:"tr",align:null},"0.8571428571428571"),(0,r.yg)("td",{parentName:"tr",align:null},"0.875"),(0,r.yg)("td",{parentName:"tr",align:null},"4"),(0,r.yg)("td",{parentName:"tr",align:null},"2440"),(0,r.yg)("td",{parentName:"tr",align:null},"6900"),(0,r.yg)("td",{parentName:"tr",align:null},"1"),(0,r.yg)("td",{parentName:"tr",align:null},"6900")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"2016-06-27T00:00:00.000Z")),(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"#kk.wikipedia")),(0,r.yg)("td",{parentName:"tr",align:null},"6900"),(0,r.yg)("td",{parentName:"tr",align:null},"8"),(0,r.yg)("td",{parentName:"tr",align:null},"8"),(0,r.yg)("td",{parentName:"tr",align:null},"8"),(0,r.yg)("td",{parentName:"tr",align:null},"1"),(0,r.yg)("td",{parentName:"tr",align:null},"1"),(0,r.yg)("td",{parentName:"tr",align:null},"4"),(0,r.yg)("td",{parentName:"tr",align:null},"2703"),(0,r.yg)("td",{parentName:"tr",align:null},"null"),(0,r.yg)("td",{parentName:"tr",align:null},"1"),(0,r.yg)("td",{parentName:"tr",align:null},"6900")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"2016-06-27T00:00:00.000Z")),(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"#lt.wikipedia")),(0,r.yg)("td",{parentName:"tr",align:null},"1"),(0,r.yg)("td",{parentName:"tr",align:null},"1"),(0,r.yg)("td",{parentName:"tr",align:null},"1"),(0,r.yg)("td",{parentName:"tr",align:null},"1"),(0,r.yg)("td",{parentName:"tr",align:null},"0"),(0,r.yg)("td",{parentName:"tr",align:null},"0.1"),(0,r.yg)("td",{parentName:"tr",align:null},"1"),(0,r.yg)("td",{parentName:"tr",align:null},"null"),(0,r.yg)("td",{parentName:"tr",align:null},"2"),(0,r.yg)("td",{parentName:"tr",align:null},"1"),(0,r.yg)("td",{parentName:"tr",align:null},"4358")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"2016-06-27T00:00:00.000Z")),(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"#lt.wikipedia")),(0,r.yg)("td",{parentName:"tr",align:null},"2"),(0,r.yg)("td",{parentName:"tr",align:null},"2"),(0,r.yg)("td",{parentName:"tr",align:null},"2"),(0,r.yg)("td",{parentName:"tr",align:null},"2"),(0,r.yg)("td",{parentName:"tr",align:null},"0.1111111111111111"),(0,r.yg)("td",{parentName:"tr",align:null},"0.2"),(0,r.yg)("td",{parentName:"tr",align:null},"1"),(0,r.yg)("td",{parentName:"tr",align:null},"1"),(0,r.yg)("td",{parentName:"tr",align:null},"13"),(0,r.yg)("td",{parentName:"tr",align:null},"1"),(0,r.yg)("td",{parentName:"tr",align:null},"4358")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"2016-06-27T00:00:00.000Z")),(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"#lt.wikipedia")),(0,r.yg)("td",{parentName:"tr",align:null},"13"),(0,r.yg)("td",{parentName:"tr",align:null},"3"),(0,r.yg)("td",{parentName:"tr",align:null},"3"),(0,r.yg)("td",{parentName:"tr",align:null},"3"),(0,r.yg)("td",{parentName:"tr",align:null},"0.2222222222222222"),(0,r.yg)("td",{parentName:"tr",align:null},"0.3"),(0,r.yg)("td",{parentName:"tr",align:null},"1"),(0,r.yg)("td",{parentName:"tr",align:null},"2"),(0,r.yg)("td",{parentName:"tr",align:null},"28"),(0,r.yg)("td",{parentName:"tr",align:null},"1"),(0,r.yg)("td",{parentName:"tr",align:null},"4358")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"2016-06-27T00:00:00.000Z")),(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"#lt.wikipedia")),(0,r.yg)("td",{parentName:"tr",align:null},"28"),(0,r.yg)("td",{parentName:"tr",align:null},"4"),(0,r.yg)("td",{parentName:"tr",align:null},"4"),(0,r.yg)("td",{parentName:"tr",align:null},"4"),(0,r.yg)("td",{parentName:"tr",align:null},"0.3333333333333333"),(0,r.yg)("td",{parentName:"tr",align:null},"0.4"),(0,r.yg)("td",{parentName:"tr",align:null},"2"),(0,r.yg)("td",{parentName:"tr",align:null},"13"),(0,r.yg)("td",{parentName:"tr",align:null},"53"),(0,r.yg)("td",{parentName:"tr",align:null},"1"),(0,r.yg)("td",{parentName:"tr",align:null},"4358")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"2016-06-27T00:00:00.000Z")),(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"#lt.wikipedia")),(0,r.yg)("td",{parentName:"tr",align:null},"53"),(0,r.yg)("td",{parentName:"tr",align:null},"5"),(0,r.yg)("td",{parentName:"tr",align:null},"5"),(0,r.yg)("td",{parentName:"tr",align:null},"5"),(0,r.yg)("td",{parentName:"tr",align:null},"0.4444444444444444"),(0,r.yg)("td",{parentName:"tr",align:null},"0.5"),(0,r.yg)("td",{parentName:"tr",align:null},"2"),(0,r.yg)("td",{parentName:"tr",align:null},"28"),(0,r.yg)("td",{parentName:"tr",align:null},"56"),(0,r.yg)("td",{parentName:"tr",align:null},"1"),(0,r.yg)("td",{parentName:"tr",align:null},"4358")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"2016-06-27T00:00:00.000Z")),(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"#lt.wikipedia")),(0,r.yg)("td",{parentName:"tr",align:null},"56"),(0,r.yg)("td",{parentName:"tr",align:null},"6"),(0,r.yg)("td",{parentName:"tr",align:null},"6"),(0,r.yg)("td",{parentName:"tr",align:null},"6"),(0,r.yg)("td",{parentName:"tr",align:null},"0.5555555555555556"),(0,r.yg)("td",{parentName:"tr",align:null},"0.6"),(0,r.yg)("td",{parentName:"tr",align:null},"2"),(0,r.yg)("td",{parentName:"tr",align:null},"53"),(0,r.yg)("td",{parentName:"tr",align:null},"59"),(0,r.yg)("td",{parentName:"tr",align:null},"1"),(0,r.yg)("td",{parentName:"tr",align:null},"4358")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"2016-06-27T00:00:00.000Z")),(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"#lt.wikipedia")),(0,r.yg)("td",{parentName:"tr",align:null},"59"),(0,r.yg)("td",{parentName:"tr",align:null},"7"),(0,r.yg)("td",{parentName:"tr",align:null},"7"),(0,r.yg)("td",{parentName:"tr",align:null},"7"),(0,r.yg)("td",{parentName:"tr",align:null},"0.6666666666666666"),(0,r.yg)("td",{parentName:"tr",align:null},"0.7"),(0,r.yg)("td",{parentName:"tr",align:null},"3"),(0,r.yg)("td",{parentName:"tr",align:null},"56"),(0,r.yg)("td",{parentName:"tr",align:null},"391"),(0,r.yg)("td",{parentName:"tr",align:null},"1"),(0,r.yg)("td",{parentName:"tr",align:null},"4358")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"2016-06-27T00:00:00.000Z")),(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"#lt.wikipedia")),(0,r.yg)("td",{parentName:"tr",align:null},"391"),(0,r.yg)("td",{parentName:"tr",align:null},"8"),(0,r.yg)("td",{parentName:"tr",align:null},"8"),(0,r.yg)("td",{parentName:"tr",align:null},"8"),(0,r.yg)("td",{parentName:"tr",align:null},"0.7777777777777778"),(0,r.yg)("td",{parentName:"tr",align:null},"0.8"),(0,r.yg)("td",{parentName:"tr",align:null},"3"),(0,r.yg)("td",{parentName:"tr",align:null},"59"),(0,r.yg)("td",{parentName:"tr",align:null},"894"),(0,r.yg)("td",{parentName:"tr",align:null},"1"),(0,r.yg)("td",{parentName:"tr",align:null},"4358")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"2016-06-27T00:00:00.000Z")),(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"#lt.wikipedia")),(0,r.yg)("td",{parentName:"tr",align:null},"894"),(0,r.yg)("td",{parentName:"tr",align:null},"9"),(0,r.yg)("td",{parentName:"tr",align:null},"9"),(0,r.yg)("td",{parentName:"tr",align:null},"9"),(0,r.yg)("td",{parentName:"tr",align:null},"0.8888888888888888"),(0,r.yg)("td",{parentName:"tr",align:null},"0.9"),(0,r.yg)("td",{parentName:"tr",align:null},"4"),(0,r.yg)("td",{parentName:"tr",align:null},"391"),(0,r.yg)("td",{parentName:"tr",align:null},"4358"),(0,r.yg)("td",{parentName:"tr",align:null},"1"),(0,r.yg)("td",{parentName:"tr",align:null},"4358")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"2016-06-27T00:00:00.000Z")),(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"#lt.wikipedia")),(0,r.yg)("td",{parentName:"tr",align:null},"4358"),(0,r.yg)("td",{parentName:"tr",align:null},"10"),(0,r.yg)("td",{parentName:"tr",align:null},"10"),(0,r.yg)("td",{parentName:"tr",align:null},"10"),(0,r.yg)("td",{parentName:"tr",align:null},"1"),(0,r.yg)("td",{parentName:"tr",align:null},"1"),(0,r.yg)("td",{parentName:"tr",align:null},"4"),(0,r.yg)("td",{parentName:"tr",align:null},"894"),(0,r.yg)("td",{parentName:"tr",align:null},"null"),(0,r.yg)("td",{parentName:"tr",align:null},"1"),(0,r.yg)("td",{parentName:"tr",align:null},"4358"))))),(0,r.yg)("p",null,"The following example demonstrates applying the SUM() function over the values in a window to calculate the cumulative changes to a channel over time:"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-sql"},"SELECT\n FLOOR(__time TO MINUTE) as \"time\",\n channel,\n ABS(delta) AS changes,\n sum(ABS(delta)) OVER (PARTITION BY channel ORDER BY FLOOR(__time TO MINUTE) ASC) AS cum_changes\nFROM wikipedia\nWHERE channel IN ('#kk.wikipedia', '#lt.wikipedia')\nGROUP BY channel, __time, delta\n")),(0,r.yg)("details",null,(0,r.yg)("summary",null," View results "),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"th"},"time")),(0,r.yg)("th",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"th"},"channel")),(0,r.yg)("th",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"th"},"changes")),(0,r.yg)("th",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"th"},"cum_changes")))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"2016-06-27T04:20:00.000Z")),(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"#kk.wikipedia")),(0,r.yg)("td",{parentName:"tr",align:null},"56"),(0,r.yg)("td",{parentName:"tr",align:null},"56")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"2016-06-27T04:35:00.000Z")),(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"#kk.wikipedia")),(0,r.yg)("td",{parentName:"tr",align:null},"2440"),(0,r.yg)("td",{parentName:"tr",align:null},"2496")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"2016-06-27T06:15:00.000Z")),(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"#kk.wikipedia")),(0,r.yg)("td",{parentName:"tr",align:null},"91"),(0,r.yg)("td",{parentName:"tr",align:null},"2587")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"2016-06-27T07:32:00.000Z")),(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"#kk.wikipedia")),(0,r.yg)("td",{parentName:"tr",align:null},"1"),(0,r.yg)("td",{parentName:"tr",align:null},"2588")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"2016-06-27T09:00:00.000Z")),(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"#kk.wikipedia")),(0,r.yg)("td",{parentName:"tr",align:null},"2703"),(0,r.yg)("td",{parentName:"tr",align:null},"5291")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"2016-06-27T09:24:00.000Z")),(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"#kk.wikipedia")),(0,r.yg)("td",{parentName:"tr",align:null},"1"),(0,r.yg)("td",{parentName:"tr",align:null},"5292")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"2016-06-27T11:00:00.000Z")),(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"#kk.wikipedia")),(0,r.yg)("td",{parentName:"tr",align:null},"63"),(0,r.yg)("td",{parentName:"tr",align:null},"5355")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"2016-06-27T11:05:00.000Z")),(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"#kk.wikipedia")),(0,r.yg)("td",{parentName:"tr",align:null},"7"),(0,r.yg)("td",{parentName:"tr",align:null},"5362")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"2016-06-27T11:32:00.000Z")),(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"#kk.wikipedia")),(0,r.yg)("td",{parentName:"tr",align:null},"56"),(0,r.yg)("td",{parentName:"tr",align:null},"5418")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"2016-06-27T15:21:00.000Z")),(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"#kk.wikipedia")),(0,r.yg)("td",{parentName:"tr",align:null},"6900"),(0,r.yg)("td",{parentName:"tr",align:null},"12318")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"2016-06-27T06:17:00.000Z")),(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"#lt.wikipedia")),(0,r.yg)("td",{parentName:"tr",align:null},"2"),(0,r.yg)("td",{parentName:"tr",align:null},"2")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"2016-06-27T07:55:00.000Z")),(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"#lt.wikipedia")),(0,r.yg)("td",{parentName:"tr",align:null},"13"),(0,r.yg)("td",{parentName:"tr",align:null},"15")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"2016-06-27T09:05:00.000Z")),(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"#lt.wikipedia")),(0,r.yg)("td",{parentName:"tr",align:null},"894"),(0,r.yg)("td",{parentName:"tr",align:null},"909")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"2016-06-27T09:12:00.000Z")),(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"#lt.wikipedia")),(0,r.yg)("td",{parentName:"tr",align:null},"391"),(0,r.yg)("td",{parentName:"tr",align:null},"1300")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"2016-06-27T09:23:00.000Z")),(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"#lt.wikipedia")),(0,r.yg)("td",{parentName:"tr",align:null},"56"),(0,r.yg)("td",{parentName:"tr",align:null},"1356")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"2016-06-27T10:59:00.000Z")),(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"#lt.wikipedia")),(0,r.yg)("td",{parentName:"tr",align:null},"1"),(0,r.yg)("td",{parentName:"tr",align:null},"1357")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"2016-06-27T11:49:00.000Z")),(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"#lt.wikipedia")),(0,r.yg)("td",{parentName:"tr",align:null},"59"),(0,r.yg)("td",{parentName:"tr",align:null},"1416")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"2016-06-27T12:41:00.000Z")),(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"#lt.wikipedia")),(0,r.yg)("td",{parentName:"tr",align:null},"53"),(0,r.yg)("td",{parentName:"tr",align:null},"1469")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"2016-06-27T12:58:00.000Z")),(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"#lt.wikipedia")),(0,r.yg)("td",{parentName:"tr",align:null},"28"),(0,r.yg)("td",{parentName:"tr",align:null},"1497")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"2016-06-27T19:03:00.000Z")),(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"#lt.wikipedia")),(0,r.yg)("td",{parentName:"tr",align:null},"4358"),(0,r.yg)("td",{parentName:"tr",align:null},"5855"))))),(0,r.yg)("h2",{id:"known-issues"},"Known issues"),(0,r.yg)("p",null,"The following are known issues with window functions:"),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},"Aggregates with ORDER BY specified are processed in the window: ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW",(0,r.yg)("br",{parentName:"li"}),"This behavior differs from other databases that use the default of RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW.",(0,r.yg)("br",{parentName:"li"}),"In cases where the order column is unique there is no difference between RANGE / ROWS; windows with RANGE specifications are handled as ROWS."),(0,r.yg)("li",{parentName:"ul"},"LEAD/LAG ignores the default value"),(0,r.yg)("li",{parentName:"ul"},"LAST_VALUE returns the last value of the window even when you include an ORDER BY clause")))}o.isMDXComponent=!0}}]);