You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@druid.apache.org by vo...@apache.org on 2024/06/22 01:33:17 UTC
(druid) 01/04: start
This is an automated email from the ASF dual-hosted git repository.
vogievetsky pushed a commit to branch power-tiles
in repository https://gitbox.apache.org/repos/asf/druid.git
commit cfd6078e8a949b26089c6f194c79c7f990ba4cfc
Author: Vadim Ogievetsky <va...@ogievetsky.com>
AuthorDate: Tue Jun 4 15:33:55 2024 -0700
start
---
.../modules/bar-chart-echarts-module.ts | 0
.../views/explore-view => _save}/modules/index.ts | 0
.../modules/multi-axis-chart-echarts-module.ts | 0
.../modules/pie-chart-echarts-module.ts | 0
.../modules/time-chart-echarts-module.ts | 0
.../_save/tiles/filter-tile/filter-tile.tsx | 80 +
.../tiles/hello-world-tile/hello-world-tile.scss} | 12 +-
.../tiles/hello-world-tile/hello-world-tile.tsx} | 32 +-
.../modules/components => _save/tiles}/index.ts | 6 +-
.../tiles/picker-tile/picker-tile.scss} | 12 +-
.../_save/tiles/picker-tile/picker-tile.tsx | 70 +
.../tiles/table-tile/table-tile.scss} | 5 +-
web-console/_save/tiles/table-tile/table-tile.tsx | 94 +
web-console/package-lock.json | 67 -
web-console/package.json | 2 -
.../src/components/header-bar/header-bar.tsx | 9 +
web-console/src/components/index.ts | 1 +
.../index.ts => components/issue/issue.scss} | 6 +-
.../issue/issue.tsx} | 24 +-
web-console/src/console-application.tsx | 6 +
web-console/src/hooks/use-local-storage-state.ts | 5 +-
web-console/src/modules/bar-chart-module.tsx | 188 +
.../generic-output-table/generic-output-table.scss | 4 +-
.../generic-output-table/generic-output-table.tsx | 10 +-
.../explore-view => }/modules/components/index.ts | 0
.../grouping-table-module.scss} | 2 +-
web-console/src/modules/grouping-table-module.tsx | 304 +
.../tile-picker.scss => modules/index.ts} | 13 +-
.../models/expression-meta.ts} | 33 +-
.../modules/components => modules/models}/index.ts | 5 +-
web-console/src/modules/models/parameter.ts | 537 +
web-console/src/modules/models/query-source.ts | 69 +
.../models/split-combine.ts} | 23 +-
.../module-pane.scss} | 34 +-
web-console/src/modules/module-pane.tsx | 111 +
.../modules/module-repository/module-repository.ts | 58 +
.../overall-module.scss} | 32 +-
web-console/src/modules/overall-module.tsx | 86 +
.../record-table-module.scss} | 2 +-
web-console/src/modules/record-table-module.tsx | 108 +
.../utils/__snapshots__/table-query.spec.ts.snap | 44428 +++++++++++++++++++
.../modules/utils/table-query.spec.ts | 217 +-
.../explore-view => }/modules/utils/table-query.ts | 98 +-
.../explore-view => }/modules/utils/utils.spec.ts | 17 +-
.../explore-view => }/modules/utils/utils.ts | 60 +-
web-console/src/utils/general.tsx | 10 +-
web-console/src/utils/local-storage-keys.tsx | 5 +-
.../column-picker-menu/column-picker-menu.tsx | 4 +-
.../explore-view/column-picker/column-picker.tsx | 3 +-
.../explore-view/control-pane/aggregate-menu.tsx | 4 +-
.../explore-view/control-pane/aggregates-input.tsx | 3 +-
.../explore-view/control-pane/columns-input.tsx | 2 +-
.../explore-view/control-pane/control-pane.tsx | 75 +-
.../src/views/explore-view/control-pane/helpers.ts | 3 +-
.../explore-view/control-pane/options-input.tsx | 9 +-
web-console/src/views/explore-view/drag-helper.ts | 2 +-
.../droppable-container/droppable-container.tsx | 12 +-
.../src/views/explore-view/explore-view.scss | 71 +-
.../src/views/explore-view/explore-view.tsx | 608 +-
.../contains-filter-control.tsx | 23 +-
.../filter-pane/filter-menu/filter-menu.tsx | 36 +-
.../regexp-filter-control.tsx | 23 +-
.../time-interval-filter-control.tsx | 8 +-
.../time-relative-filter-control.tsx | 8 +-
.../values-filter-control.tsx | 34 +-
.../views/explore-view/filter-pane/filter-pane.tsx | 31 +-
.../explore-view/filter-pane/pattern-helpers.ts | 2 +-
.../full-source-pane.scss} | 25 +-
.../full-source-pane/full-source-pane.tsx | 82 +
.../module-picker.scss} | 2 +-
.../module-picker.tsx} | 28 +-
.../explore-view/modules/table-react-module.tsx | 304 -
.../utils/__snapshots__/table-query.spec.ts.snap | 39502 -----------------
.../explore-view/resource-pane/resource-pane.tsx | 32 +-
.../views/explore-view/source-pane/source-pane.tsx | 72 +-
web-console/src/views/explore-view/utils/misc.ts | 26 +-
web-console/src/views/index.ts | 1 +
.../common.ts} | 11 +-
.../edit-tile-dialog/edit-tile-dialog.tsx | 118 +
.../tiles-view.scss} | 18 +-
web-console/src/views/tiles-view/tiles-view.tsx | 258 +
.../utils/inline-state.ts} | 71 +-
82 files changed, 47711 insertions(+), 40685 deletions(-)
diff --git a/web-console/src/views/explore-view/modules/bar-chart-echarts-module.ts b/web-console/_save/modules/bar-chart-echarts-module.ts
similarity index 100%
rename from web-console/src/views/explore-view/modules/bar-chart-echarts-module.ts
rename to web-console/_save/modules/bar-chart-echarts-module.ts
diff --git a/web-console/src/views/explore-view/modules/index.ts b/web-console/_save/modules/index.ts
similarity index 100%
rename from web-console/src/views/explore-view/modules/index.ts
rename to web-console/_save/modules/index.ts
diff --git a/web-console/src/views/explore-view/modules/multi-axis-chart-echarts-module.ts b/web-console/_save/modules/multi-axis-chart-echarts-module.ts
similarity index 100%
rename from web-console/src/views/explore-view/modules/multi-axis-chart-echarts-module.ts
rename to web-console/_save/modules/multi-axis-chart-echarts-module.ts
diff --git a/web-console/src/views/explore-view/modules/pie-chart-echarts-module.ts b/web-console/_save/modules/pie-chart-echarts-module.ts
similarity index 100%
rename from web-console/src/views/explore-view/modules/pie-chart-echarts-module.ts
rename to web-console/_save/modules/pie-chart-echarts-module.ts
diff --git a/web-console/src/views/explore-view/modules/time-chart-echarts-module.ts b/web-console/_save/modules/time-chart-echarts-module.ts
similarity index 100%
rename from web-console/src/views/explore-view/modules/time-chart-echarts-module.ts
rename to web-console/_save/modules/time-chart-echarts-module.ts
diff --git a/web-console/_save/tiles/filter-tile/filter-tile.tsx b/web-console/_save/tiles/filter-tile/filter-tile.tsx
new file mode 100644
index 00000000000..92220f9cd98
--- /dev/null
+++ b/web-console/_save/tiles/filter-tile/filter-tile.tsx
@@ -0,0 +1,80 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import { SqlExpression, SqlLiteral, SqlQuery } from '@druid-toolkit/query';
+import React from 'react';
+
+import { Loader } from '../../../../components';
+import { useQueryManager } from '../../../../hooks';
+import { FilterPane } from '../../../explore-view/filter-pane/filter-pane';
+import type { QuerySource } from '../../../explore-view/utils';
+import { TileRepository } from '../../tile-repository';
+
+// import './overall-tile.scss';
+
+interface FilterTileConfig {
+ source: string;
+}
+
+TileRepository.registerTile<FilterTileConfig>({
+ type: 'filter',
+ title: 'Filter',
+ description: 'Shows the count',
+ parameterDefinitions: {
+ source: {
+ type: 'string',
+ // required: true,
+ },
+ },
+ component: function FilterTile(props) {
+ const { config, myPublicState, setPublicState, runSqlQuery } = props;
+ const { source } = config;
+
+ const [querySourceState] = useQueryManager<string, QuerySource>({
+ query: source,
+ processQuery: async source => {
+ const r = await runSqlQuery(`SELECT * FROM (${source}) LIMIT 0`);
+
+ return {
+ query: SqlQuery.parse(source),
+ columns: r.header.map(c => {
+ return {
+ expression: SqlLiteral.NULL,
+ name: c.name,
+ sqlType: c.sqlType,
+ };
+ }),
+ };
+ },
+ });
+
+ if (querySourceState.loading) return <Loader />;
+
+ const filter = SqlExpression.maybeParse(myPublicState['filter']) || SqlLiteral.TRUE;
+ return (
+ <div className="filter-tile" style={{ marginTop: '22px' }}>
+ <FilterPane
+ querySource={querySourceState.data}
+ filter={filter}
+ onFilterChange={f => setPublicState('filter', String(f))}
+ runSqlQuery={runSqlQuery}
+ />
+ </div>
+ );
+ },
+});
diff --git a/web-console/src/views/explore-view/modules/table-react-module.scss b/web-console/_save/tiles/hello-world-tile/hello-world-tile.scss
similarity index 88%
copy from web-console/src/views/explore-view/modules/table-react-module.scss
copy to web-console/_save/tiles/hello-world-tile/hello-world-tile.scss
index 26523b1c782..10a4fd21457 100644
--- a/web-console/src/views/explore-view/modules/table-react-module.scss
+++ b/web-console/_save/tiles/hello-world-tile/hello-world-tile.scss
@@ -16,11 +16,9 @@
* limitations under the License.
*/
-.table-module {
- width: 100%;
- height: 100%;
-
- .generic-output-table {
- height: 100%;
- }
+.hello-world-tile {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ font-size: 26px;
}
diff --git a/web-console/src/views/explore-view/tile-picker/tile-picker.scss b/web-console/_save/tiles/hello-world-tile/hello-world-tile.tsx
similarity index 55%
copy from web-console/src/views/explore-view/tile-picker/tile-picker.scss
copy to web-console/_save/tiles/hello-world-tile/hello-world-tile.tsx
index 1f6b12b514e..37b7ee08124 100644
--- a/web-console/src/views/explore-view/tile-picker/tile-picker.scss
+++ b/web-console/_save/tiles/hello-world-tile/hello-world-tile.tsx
@@ -16,12 +16,30 @@
* limitations under the License.
*/
-.tile-picker {
- .picker-button .bp4-button-text {
- flex: 1 1 auto;
- }
+import React from 'react';
- .more-button.bp4-popover2-target {
- flex: 0;
- }
+import { TileRepository } from '../../tile-repository';
+
+import './hello-world-tile.scss';
+
+interface HelloWorldTileConfig {
+ alt?: string;
}
+
+TileRepository.registerTile<HelloWorldTileConfig>({
+ type: 'hello-world',
+ title: 'Hello World',
+ description: 'Just a simple hello world',
+ configFields: [
+ {
+ name: 'alt',
+ type: 'string',
+ defaultValue: 'World',
+ },
+ ],
+ component: function HelloWorldModule(props) {
+ const { config, setPublicState } = props;
+ setPublicState('x', 'Hi there');
+ return <div className="hello-world-tile">{`Hello ${config.alt ?? 'World'}`}</div>;
+ },
+});
diff --git a/web-console/src/views/explore-view/modules/components/index.ts b/web-console/_save/tiles/index.ts
similarity index 80%
copy from web-console/src/views/explore-view/modules/components/index.ts
copy to web-console/_save/tiles/index.ts
index 4b7eeff07ef..2ab33beb5bf 100644
--- a/web-console/src/views/explore-view/modules/components/index.ts
+++ b/web-console/_save/tiles/index.ts
@@ -16,4 +16,8 @@
* limitations under the License.
*/
-export * from './generic-output-table/generic-output-table';
+import './hello-world-tile/hello-world-tile';
+import './overall-tile/overall-tile';
+import './picker-tile/picker-tile';
+import './filter-tile/filter-tile';
+import './table-tile/table-tile';
diff --git a/web-console/src/views/explore-view/modules/table-react-module.scss b/web-console/_save/tiles/picker-tile/picker-tile.scss
similarity index 88%
copy from web-console/src/views/explore-view/modules/table-react-module.scss
copy to web-console/_save/tiles/picker-tile/picker-tile.scss
index 26523b1c782..cb35dea9222 100644
--- a/web-console/src/views/explore-view/modules/table-react-module.scss
+++ b/web-console/_save/tiles/picker-tile/picker-tile.scss
@@ -16,11 +16,9 @@
* limitations under the License.
*/
-.table-module {
- width: 100%;
- height: 100%;
-
- .generic-output-table {
- height: 100%;
- }
+.picker-tile {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ font-size: 26px;
}
diff --git a/web-console/_save/tiles/picker-tile/picker-tile.tsx b/web-console/_save/tiles/picker-tile/picker-tile.tsx
new file mode 100644
index 00000000000..c7a43373678
--- /dev/null
+++ b/web-console/_save/tiles/picker-tile/picker-tile.tsx
@@ -0,0 +1,70 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import { Button, Menu, MenuItem } from '@blueprintjs/core';
+import { IconNames } from '@blueprintjs/icons';
+import { Popover2 } from '@blueprintjs/popover2';
+import React from 'react';
+
+import { TileRepository } from '../../tile-repository';
+
+import './picker-tile.scss';
+
+interface OverallTileConfig {
+ options: string[];
+}
+
+TileRepository.registerTile<OverallTileConfig>({
+ type: 'picker',
+ title: 'Picker',
+ description: 'Shows the count',
+ parameterDefinitions: {
+ options: {
+ type: 'json',
+ defaultValue: [],
+ required: true,
+ },
+ },
+ component: function PickerModule(props) {
+ const { config, myPublicState, setPublicState } = props;
+ const { options } = config;
+
+ return (
+ <div className="picker-tile">
+ <Popover2
+ content={
+ <Menu>
+ {options.map((option, i) => (
+ <MenuItem
+ key={i}
+ text={option}
+ onClick={() => setPublicState('selected', option)}
+ />
+ ))}
+ </Menu>
+ }
+ >
+ <Button
+ text={`Pick: ${myPublicState['selected'] ?? '?'}`}
+ rightIcon={IconNames.CARET_DOWN}
+ />
+ </Popover2>
+ </div>
+ );
+ },
+});
diff --git a/web-console/src/views/explore-view/modules/table-react-module.scss b/web-console/_save/tiles/table-tile/table-tile.scss
similarity index 94%
copy from web-console/src/views/explore-view/modules/table-react-module.scss
copy to web-console/_save/tiles/table-tile/table-tile.scss
index 26523b1c782..8b0240fed27 100644
--- a/web-console/src/views/explore-view/modules/table-react-module.scss
+++ b/web-console/_save/tiles/table-tile/table-tile.scss
@@ -16,10 +16,7 @@
* limitations under the License.
*/
-.table-module {
- width: 100%;
- height: 100%;
-
+.table-tile {
.generic-output-table {
height: 100%;
}
diff --git a/web-console/_save/tiles/table-tile/table-tile.tsx b/web-console/_save/tiles/table-tile/table-tile.tsx
new file mode 100644
index 00000000000..dc3db33f7dd
--- /dev/null
+++ b/web-console/_save/tiles/table-tile/table-tile.tsx
@@ -0,0 +1,94 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import { sql } from '@druid-toolkit/query';
+import React, { useMemo } from 'react';
+
+import { Issue, Loader } from '../../../../components';
+import { useQueryManager } from '../../../../hooks';
+import { GenericOutputTable } from '../../../explore-view/modules/components';
+import { TileRepository } from '../../tile-repository';
+import { inlineState } from '../../utils/inline-state';
+
+import './table-tile.scss';
+
+interface TableTileConfig {
+ source: string;
+ splitColumn: string;
+}
+
+TileRepository.registerTile<TableTileConfig>({
+ type: 'table',
+ title: 'Table',
+ description: 'A universal table',
+ configFields: [
+ {
+ name: 'source',
+ type: 'string',
+ required: true,
+ },
+ {
+ name: 'splitColumn',
+ type: 'string',
+ required: true,
+ },
+ ],
+ component: function TableTile(props) {
+ const { config, publicState, setPublicState, runSqlQuery } = props;
+ const { source, splitColumn } = config;
+
+ const query = useMemo(() => {
+ return String(sql`
+ SELECT
+ "${splitColumn}",
+ COUNT(*) AS "cnt"
+ FROM (${inlineState(source, publicState)})
+ GROUP BY 1
+ ORDER BY 2 DESC
+ `);
+ }, [source, publicState]);
+
+ const [resultState] = useQueryManager<string, any>({
+ query: query,
+ processQuery: async query => {
+ setPublicState('query', query);
+ return await runSqlQuery(query);
+ },
+ });
+
+ if (resultState.loading) return <Loader />;
+
+ const errorMessage = resultState.getErrorMessage();
+ if (errorMessage) return <Issue issue={errorMessage} />;
+
+ return (
+ <div className="table-tile">
+ {resultState.data && (
+ <GenericOutputTable
+ runeMode={false}
+ queryResult={resultState.data}
+ showTypeIcons={false}
+ onQueryAction={action => {
+ console.log(action);
+ }}
+ />
+ )}
+ </div>
+ );
+ },
+});
diff --git a/web-console/package-lock.json b/web-console/package-lock.json
index 2945955d9d6..a3f7d9cd46d 100644
--- a/web-console/package-lock.json
+++ b/web-console/package-lock.json
@@ -16,8 +16,6 @@
"@blueprintjs/popover2": "^1.14.9",
"@blueprintjs/select": "^4.9.24",
"@druid-toolkit/query": "^0.22.20",
- "@druid-toolkit/visuals-core": "^0.3.3",
- "@druid-toolkit/visuals-react": "^0.3.3",
"ace-builds": "~1.4.14",
"axios": "^1.6.7",
"chronoshift": "^0.10.0",
@@ -1012,30 +1010,6 @@
"tslib": "^2.5.2"
}
},
- "node_modules/@druid-toolkit/visuals-core": {
- "version": "0.3.3",
- "resolved": "https://registry.npmjs.org/@druid-toolkit/visuals-core/-/visuals-core-0.3.3.tgz",
- "integrity": "sha512-Oze2M6LBxNIstFQTI68qayZs6vchtRiTAtIvuyvvalh3RGUqblJ91stMvh+9FtnHUBkr6J7J2C30L3VpDd0LTQ==",
- "dependencies": {
- "@druid-toolkit/query": "*",
- "json-bigint-native": "^1.2.0",
- "zustand": "^4.3.2"
- }
- },
- "node_modules/@druid-toolkit/visuals-react": {
- "version": "0.3.3",
- "resolved": "https://registry.npmjs.org/@druid-toolkit/visuals-react/-/visuals-react-0.3.3.tgz",
- "integrity": "sha512-1WKTA7y2bd2LWA1as9bdAk7tPHkKWkgtcH6P7yZZDzooi1wVhgLWhREpvJFHsyIsau2ZHMYDiZkiDESrc90lIA==",
- "dependencies": {
- "@druid-toolkit/query": "*",
- "@druid-toolkit/visuals-core": "*",
- "use-resize-observer": "^9.1.0",
- "zustand": "^4.3.2"
- },
- "peerDependencies": {
- "react": "^18.1.0"
- }
- },
"node_modules/@emotion/cache": {
"version": "10.0.29",
"resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-10.0.29.tgz",
@@ -17510,18 +17484,6 @@
"integrity": "sha1-iS/pWWCAXoVRnxzUOJ8stMu3ZS8=",
"dev": true
},
- "node_modules/use-resize-observer": {
- "version": "9.1.0",
- "resolved": "https://registry.npmjs.org/use-resize-observer/-/use-resize-observer-9.1.0.tgz",
- "integrity": "sha512-R25VqO9Wb3asSD4eqtcxk8sJalvIOYBqS8MNZlpDSQ4l4xMQxC/J7Id9HoTqPq8FwULIn0PVW+OAqF2dyYbjow==",
- "dependencies": {
- "@juggle/resize-observer": "^3.3.1"
- },
- "peerDependencies": {
- "react": "16.8.0 - 18",
- "react-dom": "16.8.0 - 18"
- }
- },
"node_modules/use-sync-external-store": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz",
@@ -19154,27 +19116,6 @@
"tslib": "^2.5.2"
}
},
- "@druid-toolkit/visuals-core": {
- "version": "0.3.3",
- "resolved": "https://registry.npmjs.org/@druid-toolkit/visuals-core/-/visuals-core-0.3.3.tgz",
- "integrity": "sha512-Oze2M6LBxNIstFQTI68qayZs6vchtRiTAtIvuyvvalh3RGUqblJ91stMvh+9FtnHUBkr6J7J2C30L3VpDd0LTQ==",
- "requires": {
- "@druid-toolkit/query": "*",
- "json-bigint-native": "^1.2.0",
- "zustand": "^4.3.2"
- }
- },
- "@druid-toolkit/visuals-react": {
- "version": "0.3.3",
- "resolved": "https://registry.npmjs.org/@druid-toolkit/visuals-react/-/visuals-react-0.3.3.tgz",
- "integrity": "sha512-1WKTA7y2bd2LWA1as9bdAk7tPHkKWkgtcH6P7yZZDzooi1wVhgLWhREpvJFHsyIsau2ZHMYDiZkiDESrc90lIA==",
- "requires": {
- "@druid-toolkit/query": "*",
- "@druid-toolkit/visuals-core": "*",
- "use-resize-observer": "^9.1.0",
- "zustand": "^4.3.2"
- }
- },
"@emotion/cache": {
"version": "10.0.29",
"resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-10.0.29.tgz",
@@ -31594,14 +31535,6 @@
"integrity": "sha1-iS/pWWCAXoVRnxzUOJ8stMu3ZS8=",
"dev": true
},
- "use-resize-observer": {
- "version": "9.1.0",
- "resolved": "https://registry.npmjs.org/use-resize-observer/-/use-resize-observer-9.1.0.tgz",
- "integrity": "sha512-R25VqO9Wb3asSD4eqtcxk8sJalvIOYBqS8MNZlpDSQ4l4xMQxC/J7Id9HoTqPq8FwULIn0PVW+OAqF2dyYbjow==",
- "requires": {
- "@juggle/resize-observer": "^3.3.1"
- }
- },
"use-sync-external-store": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz",
diff --git a/web-console/package.json b/web-console/package.json
index 6e38ba24684..492ff3de255 100644
--- a/web-console/package.json
+++ b/web-console/package.json
@@ -70,8 +70,6 @@
"@blueprintjs/popover2": "^1.14.9",
"@blueprintjs/select": "^4.9.24",
"@druid-toolkit/query": "^0.22.20",
- "@druid-toolkit/visuals-core": "^0.3.3",
- "@druid-toolkit/visuals-react": "^0.3.3",
"ace-builds": "~1.4.14",
"axios": "^1.6.7",
"chronoshift": "^0.10.0",
diff --git a/web-console/src/components/header-bar/header-bar.tsx b/web-console/src/components/header-bar/header-bar.tsx
index 9a66dbaeace..c6e58c07271 100644
--- a/web-console/src/components/header-bar/header-bar.tsx
+++ b/web-console/src/components/header-bar/header-bar.tsx
@@ -71,6 +71,7 @@ export type HeaderActiveTab =
| 'workbench'
| 'sql-data-loader'
| 'explore'
+ | 'tiles'
| 'lookups';
const DruidLogo = React.memo(function DruidLogo() {
@@ -159,6 +160,14 @@ export const HeaderBar = React.memo(function HeaderBar(props: HeaderBarProps) {
disabled={!capabilities.hasSql()}
selected={active === 'explore'}
/>
+ <MenuItem
+ icon={IconNames.APPLICATIONS}
+ text="Tiles"
+ label="(experimental)"
+ href="#tiles"
+ disabled={!capabilities.hasSql()}
+ selected={active === 'tiles'}
+ />
</Menu>
);
diff --git a/web-console/src/components/index.ts b/web-console/src/components/index.ts
index 42f8257b5dd..5e2cd5eaa5c 100644
--- a/web-console/src/components/index.ts
+++ b/web-console/src/components/index.ts
@@ -33,6 +33,7 @@ export * from './form-json-selector/form-json-selector';
export * from './formatted-input/formatted-input';
export * from './header-bar/header-bar';
export * from './highlight-text/highlight-text';
+export * from './issue/issue';
export * from './json-collapse/json-collapse';
export * from './json-input/json-input';
export * from './learn-more/learn-more';
diff --git a/web-console/src/views/explore-view/modules/components/index.ts b/web-console/src/components/issue/issue.scss
similarity index 91%
copy from web-console/src/views/explore-view/modules/components/index.ts
copy to web-console/src/components/issue/issue.scss
index 4b7eeff07ef..74ce949e700 100644
--- a/web-console/src/views/explore-view/modules/components/index.ts
+++ b/web-console/src/components/issue/issue.scss
@@ -16,4 +16,8 @@
* limitations under the License.
*/
-export * from './generic-output-table/generic-output-table';
+.issue {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
diff --git a/web-console/src/views/explore-view/tile-picker/tile-picker.scss b/web-console/src/components/issue/issue.tsx
similarity index 67%
copy from web-console/src/views/explore-view/tile-picker/tile-picker.scss
copy to web-console/src/components/issue/issue.tsx
index 1f6b12b514e..4374c626511 100644
--- a/web-console/src/views/explore-view/tile-picker/tile-picker.scss
+++ b/web-console/src/components/issue/issue.tsx
@@ -16,12 +16,22 @@
* limitations under the License.
*/
-.tile-picker {
- .picker-button .bp4-button-text {
- flex: 1 1 auto;
- }
+import classNames from 'classnames';
+import React from 'react';
- .more-button.bp4-popover2-target {
- flex: 0;
- }
+import './issue.scss';
+
+export interface IssueProps {
+ className?: string;
+ issue: string;
}
+
+export const Issue = React.memo(function Issue(props: IssueProps) {
+ const { className, issue } = props;
+
+ return (
+ <div className={classNames('issue', className)}>
+ <div className="issue-inner">{issue}</div>
+ </div>
+ );
+});
diff --git a/web-console/src/console-application.tsx b/web-console/src/console-application.tsx
index e500af23e5d..5668121e9c4 100644
--- a/web-console/src/console-application.tsx
+++ b/web-console/src/console-application.tsx
@@ -44,6 +44,7 @@ import {
SqlDataLoaderView,
SupervisorsView,
TasksView,
+ TilesView,
WorkbenchView,
} from './views';
@@ -423,6 +424,10 @@ export class ConsoleApplication extends React.PureComponent<
return this.wrapInViewContainer('explore', <ExploreView />, 'thinner');
};
+ private readonly wrappedTilesView = () => {
+ return this.wrapInViewContainer('tiles', <TilesView />, 'thinner');
+ };
+
render() {
const { capabilities, capabilitiesLoading } = this.state;
@@ -483,6 +488,7 @@ export class ConsoleApplication extends React.PureComponent<
{capabilities.hasSql() && (
<Route path="/explore" component={this.wrappedExploreView} />
)}
+ {capabilities.hasSql() && <Route path="/tiles" component={this.wrappedTilesView} />}
<Route component={this.wrappedHomeView} />
</Switch>
diff --git a/web-console/src/hooks/use-local-storage-state.ts b/web-console/src/hooks/use-local-storage-state.ts
index e3b408802bc..a6b7341628c 100644
--- a/web-console/src/hooks/use-local-storage-state.ts
+++ b/web-console/src/hooks/use-local-storage-state.ts
@@ -25,9 +25,12 @@ import { localStorageGetJson, localStorageSetJson } from '../utils';
export function useLocalStorageState<T>(
key: LocalStorageKeys,
initialValue?: T,
+ inflateFn?: (x: any) => T,
): [T, Dispatch<SetStateAction<T>>] {
const [state, setState] = useState(() => {
- return localStorageGetJson(key) || initialValue;
+ const value = localStorageGetJson(key);
+ if (typeof value === 'undefined') return initialValue;
+ return inflateFn ? inflateFn(value) : value;
});
const setValue: Dispatch<SetStateAction<T>> = (value: T | ((prevState: T) => T)) => {
diff --git a/web-console/src/modules/bar-chart-module.tsx b/web-console/src/modules/bar-chart-module.tsx
new file mode 100644
index 00000000000..e63f118edeb
--- /dev/null
+++ b/web-console/src/modules/bar-chart-module.tsx
@@ -0,0 +1,188 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import { SqlExpression, SqlQuery } from '@druid-toolkit/query';
+import * as echarts from 'echarts';
+import React, { useEffect, useRef } from 'react';
+
+import type { ExpressionMeta } from './models';
+import { ModuleRepository } from './module-repository/module-repository';
+
+import './record-table-module.scss';
+
+const barChartFn = ({ container, runSqlQuery }: any) => {
+ const myChart = echarts.init(container, 'dark');
+
+ myChart.setOption({
+ tooltip: {},
+ dataset: {
+ sourceHeader: false,
+ dimensions: ['dim', 'met'],
+ source: [],
+ },
+ xAxis: {
+ type: 'category',
+ axisLabel: { interval: 0, rotate: -30 },
+ },
+ yAxis: {},
+ series: [
+ {
+ type: 'bar',
+ encode: {
+ x: 'dim',
+ y: 'met',
+ },
+ },
+ ],
+ });
+
+ return {
+ async update({ source, parameterValues }: any) {
+ const { splitColumn, metric, metricToSort, limit } = parameterValues;
+ console.log('splitColumn', splitColumn);
+
+ myChart.off('click');
+
+ if (!splitColumn) return;
+
+ const v = await runSqlQuery(
+ SqlQuery.from(source)
+ .addSelect(splitColumn.expression.as('dim'), { addToGroupBy: 'end' })
+ .addSelect(metric.expression.as('met'), {
+ addToOrderBy: metricToSort ? undefined : 'end',
+ direction: 'DESC',
+ })
+ .applyIf(metricToSort, q =>
+ q.addOrderBy(metricToSort.expression.toOrderByExpression('DESC')),
+ )
+ .changeLimitValue(limit),
+ );
+ myChart.setOption({
+ dataset: {
+ source: v.toObjectArray(),
+ },
+ });
+
+ myChart.on('click', 'series', p => {
+ const { dim, met } = p.data as any;
+
+ const [x, y] = myChart.convertToPixel({ seriesIndex: 0 }, [dim, met]);
+
+ console.log(x, y);
+ // highlightStore.getState().setHighlight({
+ // label: p.name,
+ // x,
+ // y: y - 20,
+ // data: [dim, met],
+ // onDrop: () => {
+ // highlightStore.getState().dropHighlight();
+ // },
+ // onSave: () => {
+ // updateWhere(where.toggleClauseInWhere(C(splitColumn.name).equal(p.name)));
+ // highlightStore.getState().dropHighlight();
+ // },
+ // });
+ });
+ },
+
+ resize() {
+ myChart.resize();
+
+ // // if there is a highlight, update its x position
+ // // by calculating new pixel position from the highlight's data
+ // const highlight = highlightStore.getState().highlight;
+ // if (highlight) {
+ // const [x, y] = myChart.convertToPixel({ seriesIndex: 0 }, highlight.data as number[]);
+ //
+ // highlightStore.getState().updateHighlight({
+ // x,
+ // y: y - 20,
+ // });
+ // }
+ },
+
+ destroy() {
+ myChart.dispose();
+ },
+ };
+};
+
+interface RecordTableParameterValues {
+ splitColumn: ExpressionMeta;
+ metric: ExpressionMeta;
+ metricToSort: ExpressionMeta;
+ limit: number;
+}
+
+ModuleRepository.registerModule<RecordTableParameterValues>({
+ id: 'bar-chart',
+ title: 'Bar chart',
+ description: 'An echarts bar chart',
+ parameters: {
+ splitColumn: {
+ type: 'column',
+ control: {
+ label: 'Bar column',
+ // transferGroup: 'show',
+ required: true,
+ },
+ },
+ metric: {
+ type: 'aggregate',
+ default: { expression: SqlExpression.parse('COUNT(*)'), name: 'Count', sqlType: 'BIGINT' },
+ control: {
+ label: 'Metric to show',
+ // transferGroup: 'show-agg',
+ required: true,
+ },
+ },
+ metricToSort: {
+ type: 'aggregate',
+ control: {
+ label: 'Metric to sort (default to shown)',
+ },
+ },
+ limit: {
+ type: 'number',
+ default: 5,
+ control: {
+ label: 'Max bars to show',
+ required: true,
+ },
+ },
+ },
+ component: function BarChartModule(props) {
+ const updateFn = useRef<any>(null);
+ const { querySource, parameterValues, runSqlQuery } = props;
+
+ useEffect(() => {
+ if (!updateFn.current) return;
+ updateFn.current.update({ source: querySource.query, parameterValues });
+ }, [updateFn.current, querySource, parameterValues]);
+
+ return (
+ <div
+ className="bar-chart-module"
+ ref={x => {
+ updateFn.current = barChartFn({ container: x, runSqlQuery });
+ }}
+ style={{ height: '100%' }}
+ />
+ );
+ },
+});
diff --git a/web-console/src/views/explore-view/modules/components/generic-output-table/generic-output-table.scss b/web-console/src/modules/components/generic-output-table/generic-output-table.scss
similarity index 96%
rename from web-console/src/views/explore-view/modules/components/generic-output-table/generic-output-table.scss
rename to web-console/src/modules/components/generic-output-table/generic-output-table.scss
index ea9f6a24a9b..a1e4b7214d9 100644
--- a/web-console/src/views/explore-view/modules/components/generic-output-table/generic-output-table.scss
+++ b/web-console/src/modules/components/generic-output-table/generic-output-table.scss
@@ -16,8 +16,8 @@
* limitations under the License.
*/
-@import '../../../../../variables';
-@import '../../../../../blueprint-overrides/common/colors';
+@import '../../../variables';
+@import '../../../blueprint-overrides/common/colors';
.generic-output-table {
position: relative;
diff --git a/web-console/src/views/explore-view/modules/components/generic-output-table/generic-output-table.tsx b/web-console/src/modules/components/generic-output-table/generic-output-table.tsx
similarity index 98%
rename from web-console/src/views/explore-view/modules/components/generic-output-table/generic-output-table.tsx
rename to web-console/src/modules/components/generic-output-table/generic-output-table.tsx
index 4f79156175b..b41e3842248 100644
--- a/web-console/src/views/explore-view/modules/components/generic-output-table/generic-output-table.tsx
+++ b/web-console/src/modules/components/generic-output-table/generic-output-table.tsx
@@ -28,10 +28,10 @@ import React, { useEffect, useState } from 'react';
import type { Column as TableColumn } from 'react-table';
import ReactTable from 'react-table';
-import { BracedText, Deferred, TableCell } from '../../../../../components';
-import { possibleDruidFormatForValues, TIME_COLUMN } from '../../../../../druid-models';
-import { SMALL_TABLE_PAGE_SIZE, SMALL_TABLE_PAGE_SIZE_OPTIONS } from '../../../../../react-table';
-import type { ColumnHint, Pagination, QueryAction } from '../../../../../utils';
+import { BracedText, Deferred, TableCell } from '../../../components';
+import { possibleDruidFormatForValues, TIME_COLUMN } from '../../../druid-models';
+import { SMALL_TABLE_PAGE_SIZE, SMALL_TABLE_PAGE_SIZE_OPTIONS } from '../../../react-table';
+import type { ColumnHint, Pagination, QueryAction } from '../../../utils';
import {
columnToIcon,
columnToWidth,
@@ -41,7 +41,7 @@ import {
prettyPrintSql,
stringifyValue,
timeFormatToSql,
-} from '../../../../../utils';
+} from '../../../utils';
import './generic-output-table.scss';
diff --git a/web-console/src/views/explore-view/modules/components/index.ts b/web-console/src/modules/components/index.ts
similarity index 100%
copy from web-console/src/views/explore-view/modules/components/index.ts
copy to web-console/src/modules/components/index.ts
diff --git a/web-console/src/views/explore-view/modules/table-react-module.scss b/web-console/src/modules/grouping-table-module.scss
similarity index 97%
copy from web-console/src/views/explore-view/modules/table-react-module.scss
copy to web-console/src/modules/grouping-table-module.scss
index 26523b1c782..65d79d15b87 100644
--- a/web-console/src/views/explore-view/modules/table-react-module.scss
+++ b/web-console/src/modules/grouping-table-module.scss
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-.table-module {
+.grouping-table-module {
width: 100%;
height: 100%;
diff --git a/web-console/src/modules/grouping-table-module.tsx b/web-console/src/modules/grouping-table-module.tsx
new file mode 100644
index 00000000000..6f041bb012b
--- /dev/null
+++ b/web-console/src/modules/grouping-table-module.tsx
@@ -0,0 +1,304 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import { Button } from '@blueprintjs/core';
+import type { SqlOrderByExpression } from '@druid-toolkit/query';
+import { C, F, SqlFunction, SqlQuery } from '@druid-toolkit/query';
+import React, { useMemo, useState } from 'react';
+
+import { Loader } from '../components';
+import { useQueryManager } from '../hooks';
+import { formatInteger } from '../utils';
+
+import { GenericOutputTable } from './components';
+import type { ExpressionMeta } from './models';
+import { ModuleRepository } from './module-repository/module-repository';
+import type {
+ CompareStrategy,
+ CompareType,
+ MultipleValueMode,
+ QueryAndHints,
+ RestrictTop,
+} from './utils/table-query';
+import { DEFAULT_TOP_VALUES_K, makeTableQueryAndHints } from './utils/table-query';
+import type { Compare } from './utils/utils';
+
+import './grouping-table-module.scss';
+
+// As of this writing ordering the outer query on something other than __time sometimes throws an error, set this to false / remove it
+// when ordering on non __time is more robust
+const NEEDS_GROUPING_TO_ORDER = true;
+
+interface GroupingTableParameterValues {
+ splitColumns: ExpressionMeta[];
+ timeBucket: string;
+ showColumns: ExpressionMeta[];
+ multipleValueMode: MultipleValueMode;
+ pivotColumn: ExpressionMeta;
+ maxPivotValues: number;
+ metrics: ExpressionMeta[];
+ compares: Compare[];
+ compareStrategy: CompareStrategy;
+ compareTypes: CompareType[];
+ restrictTop: RestrictTop;
+ maxRows: number;
+}
+
+ModuleRepository.registerModule<GroupingTableParameterValues>({
+ id: 'grouping-table',
+ title: 'Grouping table',
+ description: 'A table with extensive compare support',
+ parameters: {
+ splitColumns: {
+ type: 'columns',
+ default: [],
+ control: {
+ label: 'Group by',
+ // transferGroup: 'show',
+ },
+ },
+
+ timeBucket: {
+ type: 'option',
+ options: ['PT1M', 'PT5M', 'PT1H', 'P1D', 'P1M'],
+ default: 'PT1H',
+ control: {
+ label: 'Time bucket',
+ optionLabels: {
+ PT1M: '1 minute',
+ PT5M: '5 minutes',
+ PT1H: '1 hour',
+ P1D: '1 day',
+ P1M: '1 month',
+ },
+ visible: ({ parameterValues }) =>
+ (parameterValues.splitColumns || []).some((c: any) => c.name === '__time'),
+ },
+ },
+
+ showColumns: {
+ type: 'columns',
+ default: [],
+ control: {
+ label: 'Show columns',
+ },
+ },
+ multipleValueMode: {
+ type: 'option',
+ options: ['null', 'latest', 'latestNonNull', 'count'],
+ control: {
+ label: 'For shown column with multiple values...',
+ optionLabels: {
+ null: 'Show null',
+ latest: 'Show latest value',
+ latestNonNull: 'Show latest value (non-null)',
+ count: `Show '<count> values'`,
+ },
+ visible: ({ parameterValues }) => Boolean((parameterValues.showColumns || []).length),
+ },
+ },
+ pivotColumn: {
+ type: 'column',
+ control: {
+ label: 'Pivot column',
+ },
+ },
+ maxPivotValues: {
+ type: 'number',
+ default: 10,
+ min: 2,
+ max: 100,
+ control: {
+ visible: ({ parameterValues }) => Boolean(parameterValues.pivotColumn),
+ },
+ },
+ metrics: {
+ type: 'aggregates',
+ default: [{ expression: SqlFunction.count(), name: 'Count', sqlType: 'BIGINT' }],
+ control: {
+ label: 'Aggregates',
+ // transferGroup: 'show-agg',
+ },
+ },
+
+ compares: {
+ type: 'options',
+ options: ['PT1M', 'PT5M', 'PT1H', 'PT6H', 'P1D', 'P1M', 'P1Y'],
+ control: {
+ label: 'Compares',
+ optionLabels: {
+ PT1M: '1 minute',
+ PT5M: '5 minutes',
+ PT1H: '1 hour',
+ PT6H: '6 hours',
+ P1D: '1 day',
+ P1M: '1 month',
+ P1Y: '1 year',
+ },
+ },
+ },
+
+ compareStrategy: {
+ type: 'option',
+ options: ['auto', 'filtered', 'join'],
+ default: 'auto',
+ control: {
+ visible: ({ parameterValues }) => Boolean((parameterValues.compares || []).length),
+ },
+ },
+ compareTypes: {
+ type: 'options',
+ options: ['value', 'delta', 'absDelta', 'percent', 'absPercent'],
+ default: ['value', 'delta'],
+ control: {
+ label: 'Compare types',
+ visible: ({ parameterValues }) => Boolean((parameterValues.compares || []).length),
+ optionLabels: {
+ value: 'Value',
+ delta: 'Delta',
+ absDelta: 'Abs. delta',
+ percent: 'Percent',
+ absPercent: 'Abs. percent',
+ },
+ },
+ },
+ restrictTop: {
+ type: 'option',
+ options: ['always', 'never'],
+ default: 'always',
+ control: {
+ label: `Restrict to top ${formatInteger(DEFAULT_TOP_VALUES_K)} values when...`,
+ visible: ({ parameterValues }) =>
+ Boolean(
+ (parameterValues.compares || []).length &&
+ parameterValues.compareStrategy !== 'filtered',
+ ),
+ },
+ },
+
+ maxRows: {
+ type: 'number',
+ default: 200,
+ min: 1,
+ max: 100000,
+ control: {
+ label: 'Max rows',
+ required: true,
+ },
+ },
+ },
+ component: function GroupingTableModule(props) {
+ const { querySource, parameterValues, runSqlQuery } = props;
+ const [orderBy, setOrderBy] = useState<SqlOrderByExpression | undefined>();
+
+ const pivotValueQuery = useMemo(() => {
+ const pivotColumn: ExpressionMeta = parameterValues.pivotColumn;
+ const metrics: ExpressionMeta[] = parameterValues.metrics;
+ const maxPivotValues = parameterValues.maxPivotValues || 10;
+ if (!pivotColumn) return;
+
+ return SqlQuery.from(querySource.query)
+ .addSelect(pivotColumn.expression.as('v'), { addToGroupBy: 'end' })
+ .changeOrderByExpression(
+ (metrics.length ? metrics[0].expression : F.count()).toOrderByExpression('DESC'),
+ )
+ .changeLimitValue(maxPivotValues);
+ }, [parameterValues]);
+
+ const [pivotValueState] = useQueryManager({
+ query: pivotValueQuery,
+ processQuery: async (pivotValueQuery: SqlQuery) => {
+ return (await runSqlQuery(pivotValueQuery)).getColumnByName('v') as string[];
+ },
+ });
+
+ const queryAndHints = useMemo((): QueryAndHints | undefined => {
+ const pivotValues = pivotValueState.data;
+ if (parameterValues.pivotColumn && !pivotValues) return;
+
+ return makeTableQueryAndHints({
+ source: querySource.query,
+ splitColumns: parameterValues.splitColumns,
+ timeBucket: parameterValues.timeBucket,
+ showColumns: parameterValues.showColumns,
+ multipleValueMode: parameterValues.multipleValueMode,
+ pivotColumn: parameterValues.pivotColumn,
+ pivotValues,
+ metrics: parameterValues.metrics,
+ compares: parameterValues.compares || [],
+ compareStrategy: parameterValues.compareStrategy,
+ compareTypes: parameterValues.compareTypes,
+ restrictTop: parameterValues.restrictTop,
+ maxRows: parameterValues.maxRows,
+ orderBy,
+ useGroupingToOrderSubQueries: NEEDS_GROUPING_TO_ORDER,
+ });
+ }, [parameterValues, orderBy, pivotValueState.data]);
+
+ const [resultState] = useQueryManager({
+ query: queryAndHints,
+ processQuery: async (queryAndHints: QueryAndHints) => {
+ const { query, columnHints } = queryAndHints;
+ return {
+ result: await runSqlQuery(query),
+ columnHints,
+ };
+ },
+ });
+
+ const resultData = resultState.getSomeData();
+ return (
+ <div className="grouping-table-module">
+ {resultState.error ? (
+ <div>
+ <div>{resultState.getErrorMessage()}</div>
+ {resultState.getErrorMessage()?.includes('not found in any table') && orderBy && (
+ <Button text="Clear order by" onClick={() => setOrderBy(undefined)} />
+ )}
+ </div>
+ ) : resultData ? (
+ <GenericOutputTable
+ runeMode={false}
+ queryResult={resultData.result}
+ columnHints={resultData.columnHints}
+ showTypeIcons={false}
+ onOrderByChange={(columnName, desc) => {
+ const column = C(columnName);
+ if (orderBy && orderBy.expression.equals(column)) {
+ setOrderBy(orderBy.reverseDirection());
+ } else {
+ setOrderBy(column.toOrderByExpression(desc ? 'DESC' : 'ASC'));
+ }
+ }}
+ onQueryAction={_action => {
+ // const query = getInitQuery(table, where);
+ // if (!query) return;
+ // const nextQuery = action(query);
+ // const prevWhere = query.getWhereExpression() || SqlLiteral.TRUE;
+ // const nextWhere = nextQuery.getWhereExpression() || SqlLiteral.TRUE;
+ // if (prevWhere && nextWhere && !prevWhere.equals(nextWhere)) {
+ // updateWhere(nextWhere);
+ // }
+ }}
+ />
+ ) : undefined}
+ {resultState.loading && <Loader />}
+ </div>
+ );
+ },
+});
diff --git a/web-console/src/views/explore-view/tile-picker/tile-picker.scss b/web-console/src/modules/index.ts
similarity index 84%
copy from web-console/src/views/explore-view/tile-picker/tile-picker.scss
copy to web-console/src/modules/index.ts
index 1f6b12b514e..317985317a9 100644
--- a/web-console/src/views/explore-view/tile-picker/tile-picker.scss
+++ b/web-console/src/modules/index.ts
@@ -16,12 +16,9 @@
* limitations under the License.
*/
-.tile-picker {
- .picker-button .bp4-button-text {
- flex: 1 1 auto;
- }
+import './grouping-table-module';
+import './record-table-module';
+import './bar-chart-module';
+import './overall-module';
- .more-button.bp4-popover2-target {
- flex: 0;
- }
-}
+export * from './models';
diff --git a/web-console/src/views/explore-view/tile-picker/tile-picker.scss b/web-console/src/modules/models/expression-meta.ts
similarity index 59%
copy from web-console/src/views/explore-view/tile-picker/tile-picker.scss
copy to web-console/src/modules/models/expression-meta.ts
index 1f6b12b514e..52e24eb9072 100644
--- a/web-console/src/views/explore-view/tile-picker/tile-picker.scss
+++ b/web-console/src/modules/models/expression-meta.ts
@@ -16,12 +16,31 @@
* limitations under the License.
*/
-.tile-picker {
- .picker-button .bp4-button-text {
- flex: 1 1 auto;
- }
+import type { SqlExpression } from '@druid-toolkit/query';
- .more-button.bp4-popover2-target {
- flex: 0;
- }
+/**
+ * Represents a SQL expression and additional metadata.
+ */
+export interface ExpressionMeta {
+ /**
+ * The expression
+ */
+ expression: SqlExpression;
+
+ /**
+ * The expression name, will be used as a title in the UI.
+ */
+ name: string;
+
+ /**
+ * The expression SQL type
+ *
+ * @see {@link https://druid.apache.org/docs/latest/querying/sql-data-types.html|SQL data types}
+ */
+ sqlType?: string;
+
+ /**
+ * @todo Write the documentation
+ */
+ multiValue?: boolean;
}
diff --git a/web-console/src/views/explore-view/modules/components/index.ts b/web-console/src/modules/models/index.ts
similarity index 86%
rename from web-console/src/views/explore-view/modules/components/index.ts
rename to web-console/src/modules/models/index.ts
index 4b7eeff07ef..289e240577d 100644
--- a/web-console/src/views/explore-view/modules/components/index.ts
+++ b/web-console/src/modules/models/index.ts
@@ -16,4 +16,7 @@
* limitations under the License.
*/
-export * from './generic-output-table/generic-output-table';
+export * from './expression-meta';
+export * from './parameter';
+export * from './query-source';
+export * from './split-combine';
diff --git a/web-console/src/modules/models/parameter.ts b/web-console/src/modules/models/parameter.ts
new file mode 100644
index 00000000000..3570fa7bfb5
--- /dev/null
+++ b/web-console/src/modules/models/parameter.ts
@@ -0,0 +1,537 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* eslint-disable @typescript-eslint/ban-types */
+
+import type { SqlQuery } from '@druid-toolkit/query';
+import { SqlExpression } from '@druid-toolkit/query';
+
+import { filterMap, mapRecord } from '../../utils';
+
+import type { ExpressionMeta } from './expression-meta';
+import type { SplitCombine } from './split-combine';
+
+/**
+ * The possible value for an Option parameter values.
+ */
+export type OptionValue = string | number;
+
+export type ModuleFunctor<T> = T | ((options: { parameterValues: Record<string, any> }) => T);
+
+export function evaluateFunctor<T>(fn: ModuleFunctor<T>, parameterValues: Record<string, any>): T {
+ if (typeof fn === 'function') {
+ return (fn as any)({ parameterValues });
+ } else {
+ return fn;
+ }
+}
+
+/**
+ * Parameters can be one of those types.
+ */
+export interface ParameterTypes {
+ /**
+ * String parameter
+ */
+ string: string;
+
+ /**
+ * Boolean parameter
+ */
+ boolean: boolean;
+
+ /**
+ * Number parameter
+ */
+ number: number;
+
+ /**
+ * Option parameter (single value out of several)
+ */
+ option: OptionValue;
+
+ /**
+ * Array of option(s) parameter (multiple values out of several)
+ */
+ options: OptionValue[];
+
+ /**
+ * Column parameter (single value out of several)
+ *
+ * @see {@link ExpressionMeta}
+ */
+ column: ExpressionMeta;
+
+ /**
+ * Array of column(s) parameter (multiple values out of several)
+ *
+ * @see {@link ExpressionMeta}
+ */
+ columns: ExpressionMeta[];
+
+ /**
+ * Aggregate parameter (single value out of several)
+ *
+ * @see {@link ExpressionMeta}
+ */
+ aggregate: ExpressionMeta;
+
+ /**
+ * Array of aggregate(s) parameter (multiple values out of several)
+ *
+ * @see {@link ExpressionMeta}
+ */
+ aggregates: ExpressionMeta[];
+
+ /**
+ * Custom parameter (for custom UI controls)
+ */
+ custom: unknown;
+
+ /**
+ * SplitCombine parameter (single value out of several)
+ *
+ * @see {@link SplitCombine}
+ */
+ splitCombine: SplitCombine;
+
+ /**
+ * Array of SplitCombine(s) parameter (multiple values out of several)
+ *
+ * @see {@link SplitCombine}
+ */
+ splitCombines: SplitCombine[];
+
+ query: SqlQuery;
+}
+
+/**
+ * Metadata for a parameter that may be used to render a UI control.
+ *
+ * Visual modules might set defaults for some of these properties, but
+ * users of those visual modules may override them during module registration.
+ */
+export interface ControlMeta {
+ /**
+ * Short description of this parameter.
+ */
+ label?: ModuleFunctor<string>;
+
+ /**
+ * Longer description of this parameter.
+ */
+ description?: ModuleFunctor<string>;
+
+ /**
+ * Text to display when the parameter has no value.
+ */
+ placeholder?: string;
+
+ /**
+ * Is this parameter required?
+ *
+ * This may be used by control UI elements for validation or to
+ * determine whether to offer a "no value" option.
+ */
+ required?: boolean;
+
+ /**
+ * A key to transfer this parameter value to another parameter when switching to another the visual module.
+ * It's the app's responsibility to exploit this key.
+ *
+ * @see {@link transferValues}
+ */
+ transferGroup?: string;
+
+ /**
+ * Determines whether the parameter should render a control.
+ *
+ * If provided as a function, the function will be called with the current
+ * set of parameter values and should return a boolean indicating whether
+ * the control should be visible.
+ *
+ * If provided as a boolean, the control will always be visible or hidden.
+ *
+ * @default true
+ */
+ visible?: ModuleFunctor<boolean>;
+
+ /**
+ * Determines whether changes to parameter values via the control should be debounced.
+ *
+ * @default 0 (no debounce)
+ */
+ debounced?: number;
+
+ /**
+ * Extra data to pass to your app.
+ */
+ [key: string]: any;
+}
+
+interface TypedControlMeta {
+ option: {
+ /**
+ * Labels for each option.
+ */
+ optionLabels?: { [key: string | number]: string };
+
+ /**
+ * Whether to render the control as a select or a radio buttons bar.
+ */
+ type?: 'select' | 'radio-bar';
+ };
+ options: {
+ /**
+ * Labels for each option.
+ */
+ optionLabels?: { [key: string | number]: string };
+ };
+
+ string: {};
+ boolean: {};
+ number: {};
+ column: {};
+ splitCombine: {};
+ columns: {};
+ splitCombines: {};
+ aggregate: {};
+ aggregates: {};
+ query: {};
+ custom: {
+ /**
+ * The type (this is used by the app)
+ */
+ type: string;
+
+ /**
+ * Any options to pass in to the rendered control
+ */
+ options?: any;
+ };
+}
+
+interface TypedExtensions {
+ number: {
+ /**
+ * Minimum value.
+ */
+ min?: number;
+
+ /**
+ * Maximum value.
+ */
+ max?: number;
+ };
+
+ option: {
+ /**
+ * Possible values for this parameter.
+ */
+ options: readonly OptionValue[];
+ };
+
+ options: {
+ /**
+ * Possible values for this parameter.
+ */
+ options: readonly OptionValue[];
+
+ /**
+ * Can the same option be specified multiple times?
+ */
+ allowDuplicates?: boolean;
+ };
+
+ columns: {
+ /**
+ * Can the same column be used multiple times?
+ */
+ allowDuplicates?: boolean;
+ };
+
+ splitCombines: {
+ /**
+ * Can the same column be used multiple times?
+ */
+ allowDuplicates?: boolean;
+ };
+
+ string: {};
+ boolean: {};
+ column: {};
+ splitCombine: {};
+ aggregate: {};
+ aggregates: {};
+ query: {};
+ custom: {};
+}
+
+export type TypedParameterDefinition<Type extends keyof ParameterTypes> = TypedExtensions[Type] & {
+ /**
+ * Parameter type.
+ */
+ type: Type;
+
+ /**
+ * Default value for this parameter.
+ */
+ default?: ParameterTypes[Type];
+
+ /**
+ * Metadata for rendering a UI control for this parameter.
+ */
+ control?: ControlMeta & TypedControlMeta[Type];
+
+ /**
+ * Validate the value of this parameter.
+ *
+ * @param value - Current parameter value or undefined if no value has been set.
+ * @returns - An error message if the value is invalid, or undefined if the value is valid.
+ */
+ validate?: (value: ParameterTypes[Type] | undefined) => string | undefined;
+
+ /**
+ * Determines whether the parameter should exist in the visual modules parameters.
+ *
+ * If the provided function returns false, the parameter value will be deleted from
+ * the module's parameters. If true, it will be whatever the relative control
+ *
+ * @default undefined
+ */
+ defined?: (options: { parametersValues: Record<string, any> }) => boolean;
+
+ /**
+ * Extra data to pass to your app.
+ */
+ [key: string]: any;
+};
+
+/**
+ * A dynamic input to a visual module that may affect its query or rendering.
+ */
+export type ParameterDefinition =
+ | TypedParameterDefinition<'string'>
+ | TypedParameterDefinition<'boolean'>
+ | TypedParameterDefinition<'number'>
+ | TypedParameterDefinition<'option'>
+ | TypedParameterDefinition<'options'>
+ | TypedParameterDefinition<'column'>
+ | TypedParameterDefinition<'columns'>
+ | TypedParameterDefinition<'splitCombine'>
+ | TypedParameterDefinition<'splitCombines'>
+ | TypedParameterDefinition<'aggregate'>
+ | TypedParameterDefinition<'aggregates'>
+ | TypedParameterDefinition<'query'>
+ | TypedParameterDefinition<'custom'>;
+
+/**
+ * Returns the label for a plugin option.
+ *
+ * @param optionValue the option value to get the label for
+ * @param parameterDefinition the parameter definition that the option belongs to
+ * @returns the label for the option
+ */
+export function getModuleOptionLabel(
+ optionValue: OptionValue,
+ parameterDefinition: ParameterDefinition,
+): string {
+ if (parameterDefinition.type !== 'option' && parameterDefinition.type !== 'options') {
+ return 'Not an option parameter';
+ }
+
+ const { optionLabels } = parameterDefinition.control ?? {};
+
+ return (
+ optionLabels?.[optionValue] ??
+ (typeof optionValue === 'string'
+ ? optionValue
+ : typeof optionValue !== 'undefined'
+ ? String(optionValue)
+ : 'Malformed option')
+ );
+}
+
+export type ParameterValues = Record<string, any>;
+export type Parameters = Record<string, ParameterDefinition>;
+
+export function inflateParameterValues(
+ parameterValues: ParameterValues | undefined,
+ parameters: Parameters,
+): ParameterValues {
+ return mapRecord(parameters, (parameter, parameterName) =>
+ inflateParameterValue(parameterValues?.[parameterName], parameter),
+ );
+}
+
+function inflateParameterValue(value: unknown, parameter: ParameterDefinition): any {
+ if (typeof value === 'undefined') return;
+ switch (parameter.type) {
+ case 'boolean':
+ return Boolean(value);
+
+ case 'number': {
+ let v = Number(value);
+ if (isNaN(v)) v = 0;
+ if (typeof parameter.min === 'number') {
+ v = Math.max(v, parameter.min);
+ }
+ if (typeof parameter.max === 'number') {
+ v = Math.min(v, parameter.max);
+ }
+ return v;
+ }
+
+ case 'option':
+ if (!parameter.options || !parameter.options.includes(value as OptionValue)) return;
+ return value as OptionValue;
+
+ case 'options': {
+ if (!Array.isArray(value)) return [];
+ const options = parameter.options || [];
+ return value.filter(v => options.includes(v));
+ }
+
+ case 'column':
+ case 'aggregate':
+ case 'splitCombine':
+ return inflateExpressionMeta(value);
+
+ case 'columns':
+ case 'aggregates':
+ case 'splitCombines':
+ return inflateExpressionMetas(value);
+
+ default:
+ return value as any;
+ }
+}
+
+function inflateExpressionMeta(value: any): ExpressionMeta | undefined {
+ if (!value) return;
+
+ const expression = SqlExpression.maybeParse(value.expression);
+ if (!expression) return;
+
+ return { ...value, expression };
+}
+
+function inflateExpressionMetas(value: any): ExpressionMeta[] {
+ if (!Array.isArray(value)) return [];
+ return filterMap(value, inflateExpressionMeta);
+}
+
+function defaultForType(parameterType: keyof ParameterTypes): any {
+ switch (parameterType) {
+ case 'boolean':
+ return false;
+
+ case 'columns':
+ case 'aggregates':
+ case 'splitCombines':
+ return [];
+
+ default:
+ return;
+ }
+}
+
+export function effectiveParameterDefault(parameter: ParameterDefinition): any {
+ return parameter.default ?? defaultForType(parameter.type);
+}
+
+export function restrictWhereToColumns(
+ where: SqlExpression,
+ columns: ExpressionMeta[],
+): SqlExpression {
+ const parts = where.decomposeViaAnd();
+ const filterParts = parts.filter(ex => expressionWithinColumns(ex, columns));
+ if (parts.length === filterParts.length) return where;
+ return SqlExpression.and(...filterParts);
+}
+
+export function restrictParameterValuesToColumns(
+ parameterValues: ParameterValues,
+ parameters: Parameters,
+ columns: ExpressionMeta[],
+): ParameterValues {
+ return mapRecord(parameters, (parameter, k) =>
+ restrictParameterValueToColumns(parameterValues[k], parameter, columns),
+ );
+}
+
+function restrictParameterValueToColumns(
+ parameterValue: any,
+ parameter: ParameterDefinition,
+ columns: ExpressionMeta[],
+): any {
+ if (typeof parameterValue !== 'undefined') {
+ switch (parameter.type) {
+ case 'column':
+ case 'aggregate':
+ if (!validateExpressionMeta(parameterValue, columns)) return undefined;
+ break;
+
+ case 'splitCombine':
+ if (!validateSplitCombine(parameterValue, columns)) return undefined;
+ break;
+
+ case 'columns':
+ case 'aggregates': {
+ const valid = parameterValue.filter((v: ExpressionMeta) =>
+ validateExpressionMeta(v, columns),
+ );
+ if (valid.length !== parameterValue.length) return valid;
+ break;
+ }
+
+ case 'splitCombines': {
+ const valid = parameterValue.filter((v: SplitCombine) => validateSplitCombine(v, columns));
+ if (valid.length !== parameterValue.length) return valid;
+ break;
+ }
+
+ default:
+ break;
+ }
+ }
+ return parameterValue;
+}
+
+function validateExpressionMeta(
+ e: ExpressionMeta | undefined,
+ columns: ExpressionMeta[],
+): e is ExpressionMeta {
+ if (!e) return false;
+ return expressionWithinColumns(e.expression, columns);
+}
+
+function validateSplitCombine(
+ e: SplitCombine | undefined,
+ columns: ExpressionMeta[],
+): e is SplitCombine {
+ if (!e) return false;
+ return expressionWithinColumns(e.expression, columns);
+}
+
+function expressionWithinColumns(ex: SqlExpression, columns: ExpressionMeta[]): boolean {
+ const usedColumns = ex.getUsedColumnNames();
+ return usedColumns.every(columnName =>
+ columns.some(c => c.expression.getFirstColumnName() === columnName),
+ );
+}
diff --git a/web-console/src/modules/models/query-source.ts b/web-console/src/modules/models/query-source.ts
new file mode 100644
index 00000000000..6baac7cd02c
--- /dev/null
+++ b/web-console/src/modules/models/query-source.ts
@@ -0,0 +1,69 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import type { SqlQuery } from '@druid-toolkit/query';
+import { C, SqlStar } from '@druid-toolkit/query';
+
+import type { ExpressionMeta } from '../models';
+
+export class QuerySource {
+ static isSimpleSelect(query: SqlQuery): boolean {
+ return Boolean(
+ !query.hasGroupBy() && !query.unionQuery && query.getFromExpressions().length === 1,
+ );
+ }
+
+ static materializeStarIfNeeded(query: SqlQuery, columns: ExpressionMeta[]): SqlQuery {
+ let columnsToExpand = columns.map(c => c.name);
+ const selectExpressions = query.getSelectExpressionsArray();
+ let starCount = 0;
+ for (const selectExpression of selectExpressions) {
+ if (selectExpression instanceof SqlStar) {
+ starCount++;
+ continue;
+ }
+ const outputName = selectExpression.getOutputName();
+ if (!outputName) continue;
+ columnsToExpand = columnsToExpand.filter(c => c !== outputName);
+ }
+ if (starCount === 0) return query;
+ if (starCount > 1) throw new Error('can not handle multiple stars');
+
+ return query
+ .changeSelectExpressions(
+ selectExpressions.flatMap(selectExpression =>
+ selectExpression instanceof SqlStar ? columnsToExpand.map(c => C(c)) : selectExpression,
+ ),
+ )
+ .prettify();
+ }
+
+ public query: SqlQuery;
+ public columns: ExpressionMeta[];
+ constructor(query: SqlQuery, columns: ExpressionMeta[]) {
+ this.query = query;
+ this.columns = columns;
+ }
+
+ public deleteColumn(outputName: string): SqlQuery {
+ const noStarQuery = QuerySource.materializeStarIfNeeded(this.query, this.columns);
+ return noStarQuery.changeSelectExpressions(
+ noStarQuery.getSelectExpressionsArray().filter(ex => ex.getOutputName() !== outputName),
+ );
+ }
+}
diff --git a/web-console/src/views/explore-view/tile-picker/tile-picker.scss b/web-console/src/modules/models/split-combine.ts
similarity index 65%
copy from web-console/src/views/explore-view/tile-picker/tile-picker.scss
copy to web-console/src/modules/models/split-combine.ts
index 1f6b12b514e..b83e8d1d893 100644
--- a/web-console/src/views/explore-view/tile-picker/tile-picker.scss
+++ b/web-console/src/modules/models/split-combine.ts
@@ -16,12 +16,21 @@
* limitations under the License.
*/
-.tile-picker {
- .picker-button .bp4-button-text {
- flex: 1 1 auto;
- }
+import type { SqlOrderByExpression } from '@druid-toolkit/query';
- .more-button.bp4-popover2-target {
- flex: 0;
- }
+import type { ExpressionMeta } from './expression-meta';
+
+/**
+ * Represents a SQL Expression, its metadata, and an optional sort direction.
+ */
+export interface SplitCombine extends ExpressionMeta {
+ /**
+ * The SQL expression to use for sorting.
+ */
+ orderBy?: SqlOrderByExpression;
+
+ /**
+ * The limit to apply to the split.
+ */
+ limit?: number;
}
diff --git a/web-console/src/views/explore-view/modules/table-react-module.scss b/web-console/src/modules/module-pane.scss
similarity index 65%
copy from web-console/src/views/explore-view/modules/table-react-module.scss
copy to web-console/src/modules/module-pane.scss
index 26523b1c782..a7ef0d8da76 100644
--- a/web-console/src/views/explore-view/modules/table-react-module.scss
+++ b/web-console/src/modules/module-pane.scss
@@ -16,11 +16,37 @@
* limitations under the License.
*/
-.table-module {
- width: 100%;
- height: 100%;
+@import '../variables';
- .generic-output-table {
+.module-pane {
+ position: relative;
+ @include card-like;
+
+ .edit-button {
+ position: absolute;
+ top: 1px;
+ right: 26px;
+ }
+
+ .more-button {
+ position: absolute;
+ top: 1px;
+ right: 1px;
+ }
+
+ .tile-content {
+ width: 100%;
height: 100%;
+
+ &.issue {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ }
+
+ & > * {
+ width: 100%;
+ height: 100%;
+ }
}
}
diff --git a/web-console/src/modules/module-pane.tsx b/web-console/src/modules/module-pane.tsx
new file mode 100644
index 00000000000..6488fd9a2b7
--- /dev/null
+++ b/web-console/src/modules/module-pane.tsx
@@ -0,0 +1,111 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import { Button, Menu, MenuItem } from '@blueprintjs/core';
+import { IconNames } from '@blueprintjs/icons';
+import { Popover2 } from '@blueprintjs/popover2';
+import type { QueryResult, SqlExpression, SqlQuery } from '@druid-toolkit/query';
+import React from 'react';
+
+import { Issue } from '../components';
+
+import type { ParameterDefinition, QuerySource } from './models';
+import { ModuleRepository } from './module-repository/module-repository';
+
+import './module-pane.scss';
+
+function fillInDefaults(
+ parameterValues: Record<string, any>,
+ parameters: Record<string, ParameterDefinition>,
+): Record<string, any> {
+ const parameterValuesWithDefaults = { ...parameterValues };
+ Object.entries(parameters).forEach(([propName, propDefinition]) => {
+ if (typeof parameterValuesWithDefaults[propName] !== 'undefined') return;
+ parameterValuesWithDefaults[propName] = propDefinition.default;
+ });
+ return parameterValuesWithDefaults;
+}
+
+export interface ModulePaneProps {
+ moduleId: string;
+ moduleName: string;
+ querySource: QuerySource;
+ where: SqlExpression;
+ parameterValues: Record<string, any>;
+
+ publicState: Readonly<Record<string, Readonly<Record<string, any>>>>;
+ setPublicState(key: string, value: any): void;
+ runSqlQuery(query: string | SqlQuery): Promise<QueryResult>;
+
+ onEdit?: () => void;
+}
+
+export const ModulePane = function ModulePane(props: ModulePaneProps) {
+ const {
+ moduleId,
+ moduleName,
+ querySource,
+ where,
+ parameterValues,
+ publicState,
+ setPublicState,
+ runSqlQuery,
+ onEdit,
+ } = props;
+
+ const module = ModuleRepository.getModule(moduleId);
+
+ let content: React.ReactNode;
+ if (module) {
+ const modelIssue = undefined; // AutoForm.issueWithModel(moduleTileConfig.config, module.configFields);
+ if (modelIssue) {
+ content = <Issue issue={modelIssue} />;
+ } else {
+ content = React.createElement(module.component, {
+ querySource,
+ where,
+ parameterValues: fillInDefaults(parameterValues, module.parameters),
+ publicState,
+ myPublicState: publicState[moduleName] ?? {},
+ setPublicState,
+ runSqlQuery,
+ });
+ }
+ } else {
+ content = <Issue issue={`Unknown module id: ${moduleId}`} />;
+ }
+
+ return (
+ <div className="module-pane">
+ {content}
+ {onEdit && (
+ <Button className="edit-button" icon={IconNames.EDIT} onClick={onEdit} minimal small />
+ )}
+ <Popover2
+ className="more-button"
+ content={
+ <Menu>
+ <MenuItem text={moduleName} label="click to copy" />
+ </Menu>
+ }
+ >
+ <Button icon={IconNames.MORE} minimal small />
+ </Popover2>
+ </div>
+ );
+};
diff --git a/web-console/src/modules/module-repository/module-repository.ts b/web-console/src/modules/module-repository/module-repository.ts
new file mode 100644
index 00000000000..dcc16f04fee
--- /dev/null
+++ b/web-console/src/modules/module-repository/module-repository.ts
@@ -0,0 +1,58 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import type { QueryResult, SqlExpression, SqlQuery } from '@druid-toolkit/query';
+
+import type { ParameterDefinition, QuerySource } from '../models';
+
+interface ModuleDefinition<P> {
+ id: string;
+ title: string;
+ description: string;
+ parameters: Record<keyof P, ParameterDefinition>;
+ component: (props: ModuleComponentProps<P>) => any;
+}
+
+interface ModuleComponentProps<P> {
+ querySource: QuerySource;
+ where: SqlExpression;
+ parameterValues: P;
+ publicState: Readonly<Record<string, Readonly<Record<string, any>>>>;
+ myPublicState: Readonly<Record<string, any>>;
+ setPublicState: (key: string, value: any) => void;
+ runSqlQuery(query: string | SqlQuery): Promise<QueryResult>;
+}
+
+export class ModuleRepository {
+ private static readonly repo = new Map<string, ModuleDefinition<any>>();
+
+ static registerModule<P>(module: ModuleDefinition<P>) {
+ if (ModuleRepository.repo.has(module.id)) {
+ throw new Error(`duplicate module definition for id: ${module.id}`);
+ }
+ ModuleRepository.repo.set(module.id, module);
+ }
+
+ static getModule(id: string) {
+ return ModuleRepository.repo.get(id);
+ }
+
+ static getAllModuleIds(): string[] {
+ return [...ModuleRepository.repo.keys()];
+ }
+}
diff --git a/web-console/src/views/explore-view/modules/table-react-module.scss b/web-console/src/modules/overall-module.scss
similarity index 58%
copy from web-console/src/views/explore-view/modules/table-react-module.scss
copy to web-console/src/modules/overall-module.scss
index 26523b1c782..47ad276fd37 100644
--- a/web-console/src/views/explore-view/modules/table-react-module.scss
+++ b/web-console/src/modules/overall-module.scss
@@ -16,11 +16,35 @@
* limitations under the License.
*/
-.table-module {
- width: 100%;
+.overall-module {
height: 100%;
+ width: 100%;
+ display: grid;
+ grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
+ grid-gap: 10px;
+ justify-content: center;
+ align-items: center;
+ padding: 20px;
+ box-sizing: border-box;
+
+ .metric-entry {
+ width: 200px;
+ height: 140px;
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+ //background-color: #f0f0f0;
+ // border: 1px solid #ccc;
+ text-align: center;
+ //box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
+
+ .metric-name {
+ font-size: 20px;
+ }
- .generic-output-table {
- height: 100%;
+ .metric-value {
+ font-size: 40px;
+ }
}
}
diff --git a/web-console/src/modules/overall-module.tsx b/web-console/src/modules/overall-module.tsx
new file mode 100644
index 00000000000..ef02a30ca6b
--- /dev/null
+++ b/web-console/src/modules/overall-module.tsx
@@ -0,0 +1,86 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import type { QueryResult } from '@druid-toolkit/query';
+import { SqlQuery } from '@druid-toolkit/query';
+import React, { useMemo } from 'react';
+
+import { Issue, Loader } from '../components';
+import { useQueryManager } from '../hooks';
+import { formatInteger } from '../utils';
+
+import type { ExpressionMeta } from './models';
+import { ModuleRepository } from './module-repository/module-repository';
+
+import './overall-module.scss';
+
+interface OverallParameterValues {
+ metrics: ExpressionMeta[];
+}
+
+ModuleRepository.registerModule<OverallParameterValues>({
+ id: 'overall',
+ title: 'Overall',
+ description: 'Shows the count',
+ parameters: {
+ metrics: {
+ type: 'aggregates',
+ default: [],
+ control: {
+ label: 'Aggregates',
+ // transferGroup: 'show-agg',
+ },
+ },
+ },
+ component: function OverallModule(props) {
+ const { querySource, where, parameterValues, runSqlQuery } = props;
+ const { metrics } = parameterValues;
+
+ const query = useMemo(() => {
+ if (!metrics.length) return;
+ return SqlQuery.from(querySource.query)
+ .changeWhereExpression(where)
+ .changeSelectExpressions(metrics.map(metric => metric.expression.as(metric.name)))
+ .changeGroupByExpressions([])
+ .toString();
+ }, [querySource.query, where, metrics]);
+
+ const [valuesState] = useQueryManager<string, QueryResult>({
+ query: query,
+ processQuery: runSqlQuery,
+ });
+
+ if (valuesState.loading) return <Loader />;
+
+ const errorMessage = valuesState.getErrorMessage();
+ if (errorMessage) return <Issue issue={errorMessage} />;
+
+ const row = valuesState.data?.toObjectArray()?.[0];
+ return (
+ <div className="overall-module">
+ {metrics.map(metric => (
+ <div className="metric-entry">
+ <div className="metric-name">{metric.name}</div>
+ <div className="metric-value">{row ? formatInteger(row[metric.name]) : '-'}</div>
+ </div>
+ ))}
+ {metrics.length === 0 && <div className="no-metrics">No metrics</div>}
+ </div>
+ );
+ },
+});
diff --git a/web-console/src/views/explore-view/modules/table-react-module.scss b/web-console/src/modules/record-table-module.scss
similarity index 97%
copy from web-console/src/views/explore-view/modules/table-react-module.scss
copy to web-console/src/modules/record-table-module.scss
index 26523b1c782..e3ebe33fdc7 100644
--- a/web-console/src/views/explore-view/modules/table-react-module.scss
+++ b/web-console/src/modules/record-table-module.scss
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-.table-module {
+.record-table-module {
width: 100%;
height: 100%;
diff --git a/web-console/src/modules/record-table-module.tsx b/web-console/src/modules/record-table-module.tsx
new file mode 100644
index 00000000000..ed5228bfe4c
--- /dev/null
+++ b/web-console/src/modules/record-table-module.tsx
@@ -0,0 +1,108 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import { C, SqlQuery } from '@druid-toolkit/query';
+import React, { useMemo } from 'react';
+
+import { Loader } from '../components';
+import { useQueryManager } from '../hooks';
+
+import { GenericOutputTable } from './components';
+import { ModuleRepository } from './module-repository/module-repository';
+
+import './record-table-module.scss';
+
+interface RecordTableParameterValues {
+ maxRows: number;
+ ascending: boolean;
+ showTypeIcons: boolean;
+}
+
+ModuleRepository.registerModule<RecordTableParameterValues>({
+ id: 'record-table',
+ title: 'Grouping table',
+ description: 'A table with extensive compare support',
+ parameters: {
+ maxRows: {
+ type: 'number',
+ default: 200,
+ min: 1,
+ max: 100000,
+ control: {
+ label: 'Max rows',
+ required: true,
+ },
+ },
+ ascending: {
+ type: 'boolean',
+ default: false,
+ },
+ showTypeIcons: {
+ type: 'boolean',
+ default: true,
+ },
+ },
+ component: function RecordTableModule(props) {
+ const { querySource, where, parameterValues, runSqlQuery } = props;
+
+ const query = useMemo((): string | undefined => {
+ return SqlQuery.create(querySource.query)
+ .changeWhereExpression(where)
+ .changeLimitValue(parameterValues.maxRows)
+ .applyIf(
+ querySource.columns.some(e => e.name === '__time') && !parameterValues.ascending,
+ q => q.changeOrderByExpression(C('__time').toOrderByExpression('DESC')),
+ q => q.changeOrderByClause(querySource.query.orderByClause),
+ )
+ .toString();
+ }, [querySource, parameterValues]);
+
+ const [resultState] = useQueryManager({
+ query: query,
+ processQuery: runSqlQuery,
+ });
+
+ const resultData = resultState.getSomeData();
+ return (
+ <div className="record-table-module">
+ {resultState.error ? (
+ <div>
+ <div>{resultState.getErrorMessage()}</div>
+ </div>
+ ) : resultData ? (
+ <GenericOutputTable
+ runeMode={false}
+ queryResult={resultData}
+ showTypeIcons={parameterValues.showTypeIcons}
+ onQueryAction={_action => {
+ // const query = getInitQuery(table, where);
+ // if (!query) return;
+ // const nextQuery = action(query);
+ // const prevWhere = query.getWhereExpression() || SqlLiteral.TRUE;
+ // const nextWhere = nextQuery.getWhereExpression() || SqlLiteral.TRUE;
+ // if (prevWhere && nextWhere && !prevWhere.equals(nextWhere)) {
+ // updateWhere(nextWhere);
+ // }
+ }}
+ />
+ ) : undefined}
+ {resultState.loading && <Loader />}
+ </div>
+ );
+ },
+});
diff --git a/web-console/src/modules/utils/__snapshots__/table-query.spec.ts.snap b/web-console/src/modules/utils/__snapshots__/table-query.spec.ts.snap
new file mode 100644
index 00000000000..09a1e5f3527
--- /dev/null
+++ b/web-console/src/modules/utils/__snapshots__/table-query.spec.ts.snap
@@ -0,0 +1,44428 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`table-query uber test all queries match snapshot 1`] = `
+"
+===========================================
+no group by, no show, no metrics, no compare, no order by
+-----
+SELECT COUNT(*) AS "Count"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE (TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') AND "country" = 'United States'
+)
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, no metrics, compare PT1H, value+delta, no order by, restrict never
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, no metrics, compare PT1H, value+delta, no order by, restrict always
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, no metrics, compare PT1H, delta+percent, no order by, restrict never
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, no metrics, compare PT1H, delta+percent, no order by, restrict always
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, no metrics, compare PT1H, all compare types, no order by, restrict never
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, no metrics, compare PT1H, all compare types, no order by, restrict always
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, one metric, no compare, no order by
+-----
+SELECT COUNT(*) AS "Count"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE (TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') AND "country" = 'United States'
+)
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, one metric, no compare, order by Count
+-----
+SELECT COUNT(*) AS "Count"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE (TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') AND "country" = 'United States'
+)
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, one metric, compare PT1H, value+delta, no order by, restrict never
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, one metric, compare PT1H, value+delta, no order by, restrict always
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, one metric, compare PT1H, value+delta, order by Count, restrict never
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, one metric, compare PT1H, value+delta, order by Count, restrict always
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, one metric, compare PT1H, value+delta, Count/PT1H/value, restrict never
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count:compare:PT1H:value" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, one metric, compare PT1H, value+delta, Count/PT1H/value, restrict always
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count:compare:PT1H:value" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, one metric, compare PT1H, value+delta, Count/PT1H/delta, restrict never
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count:compare:PT1H:delta" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, one metric, compare PT1H, value+delta, Count/PT1H/delta, restrict always
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count:compare:PT1H:delta" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, one metric, compare PT1H, delta+percent, no order by, restrict never
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, one metric, compare PT1H, delta+percent, no order by, restrict always
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, one metric, compare PT1H, delta+percent, order by Count, restrict never
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, one metric, compare PT1H, delta+percent, order by Count, restrict always
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, one metric, compare PT1H, delta+percent, Count/PT1H/delta, restrict never
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count:compare:PT1H:delta" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, one metric, compare PT1H, delta+percent, Count/PT1H/delta, restrict always
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count:compare:PT1H:delta" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, one metric, compare PT1H, delta+percent, Count/PT1H/percent, restrict never
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count:compare:PT1H:percent" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, one metric, compare PT1H, delta+percent, Count/PT1H/percent, restrict always
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count:compare:PT1H:percent" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, one metric, compare PT1H, all compare types, no order by, restrict never
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, one metric, compare PT1H, all compare types, no order by, restrict always
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, one metric, compare PT1H, all compare types, order by Count, restrict never
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, one metric, compare PT1H, all compare types, order by Count, restrict always
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, one metric, compare PT1H, all compare types, Count/PT1H/value, restrict never
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count:compare:PT1H:value" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, one metric, compare PT1H, all compare types, Count/PT1H/value, restrict always
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count:compare:PT1H:value" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, one metric, compare PT1H, all compare types, Count/PT1H/delta, restrict never
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count:compare:PT1H:delta" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, one metric, compare PT1H, all compare types, Count/PT1H/delta, restrict always
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count:compare:PT1H:delta" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, one metric, compare PT1H, all compare types, Count/PT1H/absDelta, restrict never
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count:compare:PT1H:absDelta" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, one metric, compare PT1H, all compare types, Count/PT1H/absDelta, restrict always
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count:compare:PT1H:absDelta" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, one metric, compare PT1H, all compare types, Count/PT1H/percent, restrict never
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count:compare:PT1H:percent" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, one metric, compare PT1H, all compare types, Count/PT1H/percent, restrict always
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count:compare:PT1H:percent" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, one metric, compare PT1H, all compare types, Count/PT1H/absPercent, restrict never
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count:compare:PT1H:absPercent" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, one metric, compare PT1H, all compare types, Count/PT1H/absPercent, restrict always
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count:compare:PT1H:absPercent" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, two metrics, no compare, no order by
+-----
+SELECT
+ COUNT(*) AS "Count",
+ COUNT(DISTINCT "session") AS "Unique sessions"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE (TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') AND "country" = 'United States'
+)
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, two metrics, no compare, order by Count
+-----
+SELECT
+ COUNT(*) AS "Count",
+ COUNT(DISTINCT "session") AS "Unique sessions"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE (TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') AND "country" = 'United States'
+)
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, two metrics, no compare, order by Unique sessions
+-----
+SELECT
+ COUNT(*) AS "Count",
+ COUNT(DISTINCT "session") AS "Unique sessions"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE (TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') AND "country" = 'United States'
+)
+ORDER BY "Unique sessions" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, two metrics, compare PT1H, value+delta, no order by, restrict never
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, two metrics, compare PT1H, value+delta, no order by, restrict always
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, two metrics, compare PT1H, value+delta, order by Count, restrict never
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, two metrics, compare PT1H, value+delta, order by Count, restrict always
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, two metrics, compare PT1H, value+delta, order by Unique sessions, restrict never
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Unique sessions" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, two metrics, compare PT1H, value+delta, order by Unique sessions, restrict always
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Unique sessions" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, two metrics, compare PT1H, value+delta, Count/PT1H/value, restrict never
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count:compare:PT1H:value" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, two metrics, compare PT1H, value+delta, Count/PT1H/value, restrict always
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count:compare:PT1H:value" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, two metrics, compare PT1H, value+delta, Count/PT1H/delta, restrict never
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count:compare:PT1H:delta" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, two metrics, compare PT1H, value+delta, Count/PT1H/delta, restrict always
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count:compare:PT1H:delta" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, two metrics, compare PT1H, value+delta, Unique sessions/PT1H/value, restrict never
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Unique sessions:compare:PT1H:value" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, two metrics, compare PT1H, value+delta, Unique sessions/PT1H/value, restrict always
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Unique sessions:compare:PT1H:value" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, two metrics, compare PT1H, value+delta, Unique sessions/PT1H/delta, restrict never
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Unique sessions:compare:PT1H:delta" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, two metrics, compare PT1H, value+delta, Unique sessions/PT1H/delta, restrict always
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Unique sessions:compare:PT1H:delta" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, two metrics, compare PT1H, delta+percent, no order by, restrict never
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, two metrics, compare PT1H, delta+percent, no order by, restrict always
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, two metrics, compare PT1H, delta+percent, order by Count, restrict never
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, two metrics, compare PT1H, delta+percent, order by Count, restrict always
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, two metrics, compare PT1H, delta+percent, order by Unique sessions, restrict never
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Unique sessions" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, two metrics, compare PT1H, delta+percent, order by Unique sessions, restrict always
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Unique sessions" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, two metrics, compare PT1H, delta+percent, Count/PT1H/delta, restrict never
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count:compare:PT1H:delta" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, two metrics, compare PT1H, delta+percent, Count/PT1H/delta, restrict always
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count:compare:PT1H:delta" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, two metrics, compare PT1H, delta+percent, Count/PT1H/percent, restrict never
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count:compare:PT1H:percent" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, two metrics, compare PT1H, delta+percent, Count/PT1H/percent, restrict always
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count:compare:PT1H:percent" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, two metrics, compare PT1H, delta+percent, Unique sessions/PT1H/delta, restrict never
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Unique sessions:compare:PT1H:delta" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, two metrics, compare PT1H, delta+percent, Unique sessions/PT1H/delta, restrict always
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Unique sessions:compare:PT1H:delta" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, two metrics, compare PT1H, delta+percent, Unique sessions/PT1H/percent, restrict never
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Unique sessions:compare:PT1H:percent" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, two metrics, compare PT1H, delta+percent, Unique sessions/PT1H/percent, restrict always
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Unique sessions:compare:PT1H:percent" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, two metrics, compare PT1H, all compare types, no order by, restrict never
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Unique sessions:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT( [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, two metrics, compare PT1H, all compare types, no order by, restrict always
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Unique sessions:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT( [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, two metrics, compare PT1H, all compare types, order by Count, restrict never
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Unique sessions:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT( [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, two metrics, compare PT1H, all compare types, order by Count, restrict always
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Unique sessions:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT( [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, two metrics, compare PT1H, all compare types, order by Unique sessions, restrict never
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Unique sessions:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT( [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Unique sessions" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, two metrics, compare PT1H, all compare types, order by Unique sessions, restrict always
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Unique sessions:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT( [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Unique sessions" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, two metrics, compare PT1H, all compare types, Count/PT1H/value, restrict never
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Unique sessions:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT( [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count:compare:PT1H:value" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, two metrics, compare PT1H, all compare types, Count/PT1H/value, restrict always
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Unique sessions:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT( [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count:compare:PT1H:value" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, two metrics, compare PT1H, all compare types, Count/PT1H/delta, restrict never
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Unique sessions:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT( [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count:compare:PT1H:delta" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, two metrics, compare PT1H, all compare types, Count/PT1H/delta, restrict always
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Unique sessions:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT( [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count:compare:PT1H:delta" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, two metrics, compare PT1H, all compare types, Count/PT1H/absDelta, restrict never
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Unique sessions:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT( [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count:compare:PT1H:absDelta" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, two metrics, compare PT1H, all compare types, Count/PT1H/absDelta, restrict always
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Unique sessions:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT( [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count:compare:PT1H:absDelta" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, two metrics, compare PT1H, all compare types, Count/PT1H/percent, restrict never
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Unique sessions:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT( [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count:compare:PT1H:percent" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, two metrics, compare PT1H, all compare types, Count/PT1H/percent, restrict always
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Unique sessions:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT( [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count:compare:PT1H:percent" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, two metrics, compare PT1H, all compare types, Count/PT1H/absPercent, restrict never
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Unique sessions:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT( [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count:compare:PT1H:absPercent" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, two metrics, compare PT1H, all compare types, Count/PT1H/absPercent, restrict always
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Unique sessions:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT( [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count:compare:PT1H:absPercent" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, two metrics, compare PT1H, all compare types, Unique sessions/PT1H/value, restrict never
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Unique sessions:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT( [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Unique sessions:compare:PT1H:value" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, two metrics, compare PT1H, all compare types, Unique sessions/PT1H/value, restrict always
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Unique sessions:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT( [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Unique sessions:compare:PT1H:value" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, two metrics, compare PT1H, all compare types, Unique sessions/PT1H/delta, restrict never
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Unique sessions:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT( [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Unique sessions:compare:PT1H:delta" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, two metrics, compare PT1H, all compare types, Unique sessions/PT1H/delta, restrict always
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Unique sessions:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT( [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Unique sessions:compare:PT1H:delta" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, two metrics, compare PT1H, all compare types, Unique sessions/PT1H/absDelta, restrict never
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Unique sessions:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT( [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Unique sessions:compare:PT1H:absDelta" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, two metrics, compare PT1H, all compare types, Unique sessions/PT1H/absDelta, restrict always
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Unique sessions:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT( [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Unique sessions:compare:PT1H:absDelta" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, two metrics, compare PT1H, all compare types, Unique sessions/PT1H/percent, restrict never
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Unique sessions:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT( [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Unique sessions:compare:PT1H:percent" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, two metrics, compare PT1H, all compare types, Unique sessions/PT1H/percent, restrict always
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Unique sessions:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT( [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Unique sessions:compare:PT1H:percent" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, two metrics, compare PT1H, all compare types, Unique sessions/PT1H/absPercent, restrict never
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Unique sessions:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT( [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Unique sessions:compare:PT1H:absPercent" DESC
+LIMIT 200
+
+===========================================
+no group by, no show, two metrics, compare PT1H, all compare types, Unique sessions/PT1H/absPercent, restrict always
+-----
+SELECT
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Unique sessions:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT( [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Unique sessions:compare:PT1H:absPercent" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, no metrics, no compare, no order by
+-----
+SELECT CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE (TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') AND "country" = 'United States'
+)
+ORDER BY "Browser" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, no metrics, no compare, order by Browser
+-----
+SELECT CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE (TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') AND "country" = 'United States'
+)
+ORDER BY "Browser" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, no metrics, compare PT1H, value+delta, no order by, restrict never
+-----
+SELECT CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Browser" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, no metrics, compare PT1H, value+delta, no order by, restrict always
+-----
+SELECT CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Browser" DESC
+LIMIT 200"
+`;
+
+exports[`table-query uber test all queries match snapshot 2`] = `
+"
+===========================================
+no group by, show browser, no metrics, compare PT1H, value+delta, order by Browser, restrict never
+-----
+SELECT CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Browser" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, no metrics, compare PT1H, value+delta, order by Browser, restrict always
+-----
+SELECT CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Browser" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, no metrics, compare PT1H, delta+percent, no order by, restrict never
+-----
+SELECT CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Browser" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, no metrics, compare PT1H, delta+percent, no order by, restrict always
+-----
+SELECT CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Browser" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, no metrics, compare PT1H, delta+percent, order by Browser, restrict never
+-----
+SELECT CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Browser" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, no metrics, compare PT1H, delta+percent, order by Browser, restrict always
+-----
+SELECT CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Browser" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, no metrics, compare PT1H, all compare types, no order by, restrict never
+-----
+SELECT CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Browser" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, no metrics, compare PT1H, all compare types, no order by, restrict always
+-----
+SELECT CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Browser" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, no metrics, compare PT1H, all compare types, order by Browser, restrict never
+-----
+SELECT CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Browser" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, no metrics, compare PT1H, all compare types, order by Browser, restrict always
+-----
+SELECT CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Browser" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, one metric, no compare, no order by
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COUNT(*) AS "Count"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE (TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') AND "country" = 'United States'
+)
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, one metric, no compare, order by Browser
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COUNT(*) AS "Count"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE (TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') AND "country" = 'United States'
+)
+ORDER BY "Browser" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, one metric, no compare, order by Count
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COUNT(*) AS "Count"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE (TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') AND "country" = 'United States'
+)
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, one metric, compare PT1H, value+delta, no order by, restrict never
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, one metric, compare PT1H, value+delta, no order by, restrict always
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, one metric, compare PT1H, value+delta, order by Browser, restrict never
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Browser" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, one metric, compare PT1H, value+delta, order by Browser, restrict always
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Browser" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, one metric, compare PT1H, value+delta, order by Count, restrict never
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, one metric, compare PT1H, value+delta, order by Count, restrict always
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, one metric, compare PT1H, value+delta, Count/PT1H/value, restrict never
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count:compare:PT1H:value" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, one metric, compare PT1H, value+delta, Count/PT1H/value, restrict always
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count:compare:PT1H:value" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, one metric, compare PT1H, value+delta, Count/PT1H/delta, restrict never
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count:compare:PT1H:delta" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, one metric, compare PT1H, value+delta, Count/PT1H/delta, restrict always
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count:compare:PT1H:delta" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, one metric, compare PT1H, delta+percent, no order by, restrict never
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, one metric, compare PT1H, delta+percent, no order by, restrict always
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, one metric, compare PT1H, delta+percent, order by Browser, restrict never
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Browser" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, one metric, compare PT1H, delta+percent, order by Browser, restrict always
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Browser" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, one metric, compare PT1H, delta+percent, order by Count, restrict never
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, one metric, compare PT1H, delta+percent, order by Count, restrict always
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, one metric, compare PT1H, delta+percent, Count/PT1H/delta, restrict never
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count:compare:PT1H:delta" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, one metric, compare PT1H, delta+percent, Count/PT1H/delta, restrict always
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count:compare:PT1H:delta" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, one metric, compare PT1H, delta+percent, Count/PT1H/percent, restrict never
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count:compare:PT1H:percent" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, one metric, compare PT1H, delta+percent, Count/PT1H/percent, restrict always
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count:compare:PT1H:percent" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, one metric, compare PT1H, all compare types, no order by, restrict never
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, one metric, compare PT1H, all compare types, no order by, restrict always
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, one metric, compare PT1H, all compare types, order by Browser, restrict never
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Browser" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, one metric, compare PT1H, all compare types, order by Browser, restrict always
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Browser" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, one metric, compare PT1H, all compare types, order by Count, restrict never
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, one metric, compare PT1H, all compare types, order by Count, restrict always
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, one metric, compare PT1H, all compare types, Count/PT1H/value, restrict never
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count:compare:PT1H:value" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, one metric, compare PT1H, all compare types, Count/PT1H/value, restrict always
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count:compare:PT1H:value" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, one metric, compare PT1H, all compare types, Count/PT1H/delta, restrict never
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count:compare:PT1H:delta" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, one metric, compare PT1H, all compare types, Count/PT1H/delta, restrict always
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count:compare:PT1H:delta" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, one metric, compare PT1H, all compare types, Count/PT1H/absDelta, restrict never
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count:compare:PT1H:absDelta" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, one metric, compare PT1H, all compare types, Count/PT1H/absDelta, restrict always
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count:compare:PT1H:absDelta" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, one metric, compare PT1H, all compare types, Count/PT1H/percent, restrict never
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count:compare:PT1H:percent" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, one metric, compare PT1H, all compare types, Count/PT1H/percent, restrict always
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count:compare:PT1H:percent" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, one metric, compare PT1H, all compare types, Count/PT1H/absPercent, restrict never
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count:compare:PT1H:absPercent" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, one metric, compare PT1H, all compare types, Count/PT1H/absPercent, restrict always
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count:compare:PT1H:absPercent" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, two metrics, no compare, no order by
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COUNT(*) AS "Count",
+ COUNT(DISTINCT "session") AS "Unique sessions"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE (TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') AND "country" = 'United States'
+)
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, two metrics, no compare, order by Browser
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COUNT(*) AS "Count",
+ COUNT(DISTINCT "session") AS "Unique sessions"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE (TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') AND "country" = 'United States'
+)
+ORDER BY "Browser" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, two metrics, no compare, order by Count
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COUNT(*) AS "Count",
+ COUNT(DISTINCT "session") AS "Unique sessions"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE (TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') AND "country" = 'United States'
+)
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, two metrics, no compare, order by Unique sessions
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COUNT(*) AS "Count",
+ COUNT(DISTINCT "session") AS "Unique sessions"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE (TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') AND "country" = 'United States'
+)
+ORDER BY "Unique sessions" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, two metrics, compare PT1H, value+delta, no order by, restrict never
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, two metrics, compare PT1H, value+delta, no order by, restrict always
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, two metrics, compare PT1H, value+delta, order by Browser, restrict never
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Browser" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, two metrics, compare PT1H, value+delta, order by Browser, restrict always
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Browser" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, two metrics, compare PT1H, value+delta, order by Count, restrict never
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, two metrics, compare PT1H, value+delta, order by Count, restrict always
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, two metrics, compare PT1H, value+delta, order by Unique sessions, restrict never
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Unique sessions" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, two metrics, compare PT1H, value+delta, order by Unique sessions, restrict always
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Unique sessions" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, two metrics, compare PT1H, value+delta, Count/PT1H/value, restrict never
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count:compare:PT1H:value" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, two metrics, compare PT1H, value+delta, Count/PT1H/value, restrict always
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count:compare:PT1H:value" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, two metrics, compare PT1H, value+delta, Count/PT1H/delta, restrict never
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count:compare:PT1H:delta" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, two metrics, compare PT1H, value+delta, Count/PT1H/delta, restrict always
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count:compare:PT1H:delta" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, two metrics, compare PT1H, value+delta, Unique sessions/PT1H/value, restrict never
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Unique sessions:compare:PT1H:value" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, two metrics, compare PT1H, value+delta, Unique sessions/PT1H/value, restrict always
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Unique sessions:compare:PT1H:value" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, two metrics, compare PT1H, value+delta, Unique sessions/PT1H/delta, restrict never
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Unique sessions:compare:PT1H:delta" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, two metrics, compare PT1H, value+delta, Unique sessions/PT1H/delta, restrict always
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Unique sessions:compare:PT1H:delta" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, two metrics, compare PT1H, delta+percent, no order by, restrict never
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, two metrics, compare PT1H, delta+percent, no order by, restrict always
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, two metrics, compare PT1H, delta+percent, order by Browser, restrict never
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Browser" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, two metrics, compare PT1H, delta+percent, order by Browser, restrict always
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Browser" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, two metrics, compare PT1H, delta+percent, order by Count, restrict never
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, two metrics, compare PT1H, delta+percent, order by Count, restrict always
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, two metrics, compare PT1H, delta+percent, order by Unique sessions, restrict never
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Unique sessions" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, two metrics, compare PT1H, delta+percent, order by Unique sessions, restrict always
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Unique sessions" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, two metrics, compare PT1H, delta+percent, Count/PT1H/delta, restrict never
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count:compare:PT1H:delta" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, two metrics, compare PT1H, delta+percent, Count/PT1H/delta, restrict always
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count:compare:PT1H:delta" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, two metrics, compare PT1H, delta+percent, Count/PT1H/percent, restrict never
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count:compare:PT1H:percent" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, two metrics, compare PT1H, delta+percent, Count/PT1H/percent, restrict always
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count:compare:PT1H:percent" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, two metrics, compare PT1H, delta+percent, Unique sessions/PT1H/delta, restrict never
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Unique sessions:compare:PT1H:delta" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, two metrics, compare PT1H, delta+percent, Unique sessions/PT1H/delta, restrict always
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Unique sessions:compare:PT1H:delta" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, two metrics, compare PT1H, delta+percent, Unique sessions/PT1H/percent, restrict never
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Unique sessions:compare:PT1H:percent" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, two metrics, compare PT1H, delta+percent, Unique sessions/PT1H/percent, restrict always
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Unique sessions:compare:PT1H:percent" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, two metrics, compare PT1H, all compare types, no order by, restrict never
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Unique sessions:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT( [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, two metrics, compare PT1H, all compare types, no order by, restrict always
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Unique sessions:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT( [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, two metrics, compare PT1H, all compare types, order by Browser, restrict never
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Unique sessions:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT( [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Browser" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, two metrics, compare PT1H, all compare types, order by Browser, restrict always
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Unique sessions:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT( [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Browser" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, two metrics, compare PT1H, all compare types, order by Count, restrict never
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Unique sessions:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT( [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, two metrics, compare PT1H, all compare types, order by Count, restrict always
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Unique sessions:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT( [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, two metrics, compare PT1H, all compare types, order by Unique sessions, restrict never
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Unique sessions:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT( [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Unique sessions" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, two metrics, compare PT1H, all compare types, order by Unique sessions, restrict always
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Unique sessions:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT( [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Unique sessions" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, two metrics, compare PT1H, all compare types, Count/PT1H/value, restrict never
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Unique sessions:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT( [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count:compare:PT1H:value" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, two metrics, compare PT1H, all compare types, Count/PT1H/value, restrict always
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Unique sessions:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT( [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count:compare:PT1H:value" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, two metrics, compare PT1H, all compare types, Count/PT1H/delta, restrict never
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Unique sessions:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT( [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count:compare:PT1H:delta" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, two metrics, compare PT1H, all compare types, Count/PT1H/delta, restrict always
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Unique sessions:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT( [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count:compare:PT1H:delta" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, two metrics, compare PT1H, all compare types, Count/PT1H/absDelta, restrict never
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Unique sessions:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT( [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count:compare:PT1H:absDelta" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, two metrics, compare PT1H, all compare types, Count/PT1H/absDelta, restrict always
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Unique sessions:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT( [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count:compare:PT1H:absDelta" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, two metrics, compare PT1H, all compare types, Count/PT1H/percent, restrict never
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Unique sessions:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT( [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count:compare:PT1H:percent" DESC
+LIMIT 200"
+`;
+
+exports[`table-query uber test all queries match snapshot 3`] = `
+"
+===========================================
+no group by, show browser, two metrics, compare PT1H, all compare types, Count/PT1H/percent, restrict always
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Unique sessions:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT( [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count:compare:PT1H:percent" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, two metrics, compare PT1H, all compare types, Count/PT1H/absPercent, restrict never
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Unique sessions:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT( [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count:compare:PT1H:absPercent" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, two metrics, compare PT1H, all compare types, Count/PT1H/absPercent, restrict always
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Unique sessions:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT( [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Count:compare:PT1H:absPercent" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, two metrics, compare PT1H, all compare types, Unique sessions/PT1H/value, restrict never
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Unique sessions:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT( [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Unique sessions:compare:PT1H:value" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, two metrics, compare PT1H, all compare types, Unique sessions/PT1H/value, restrict always
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Unique sessions:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT( [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Unique sessions:compare:PT1H:value" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, two metrics, compare PT1H, all compare types, Unique sessions/PT1H/delta, restrict never
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Unique sessions:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT( [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Unique sessions:compare:PT1H:delta" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, two metrics, compare PT1H, all compare types, Unique sessions/PT1H/delta, restrict always
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Unique sessions:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT( [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Unique sessions:compare:PT1H:delta" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, two metrics, compare PT1H, all compare types, Unique sessions/PT1H/absDelta, restrict never
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Unique sessions:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT( [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Unique sessions:compare:PT1H:absDelta" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, two metrics, compare PT1H, all compare types, Unique sessions/PT1H/absDelta, restrict always
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Unique sessions:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT( [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Unique sessions:compare:PT1H:absDelta" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, two metrics, compare PT1H, all compare types, Unique sessions/PT1H/percent, restrict never
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Unique sessions:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT( [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Unique sessions:compare:PT1H:percent" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, two metrics, compare PT1H, all compare types, Unique sessions/PT1H/percent, restrict always
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Unique sessions:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT( [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Unique sessions:compare:PT1H:percent" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, two metrics, compare PT1H, all compare types, Unique sessions/PT1H/absPercent, restrict never
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Unique sessions:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT( [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Unique sessions:compare:PT1H:absPercent" DESC
+LIMIT 200
+
+===========================================
+no group by, show browser, two metrics, compare PT1H, all compare types, Unique sessions/PT1H/absPercent, restrict always
+-----
+SELECT
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Unique sessions:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT( [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+ORDER BY "Unique sessions:compare:PT1H:absPercent" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, no metrics, no compare, no order by
+-----
+SELECT "browser_version" AS "BrowserVersion"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE (TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "BrowserVersion" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, no metrics, no compare, order by BrowserVersion
+-----
+SELECT "browser_version" AS "BrowserVersion"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE (TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "BrowserVersion" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, no metrics, compare PT1H, value+delta, no order by, restrict never
+-----
+SELECT "browser_version" AS "BrowserVersion"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "BrowserVersion" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, no metrics, compare PT1H, value+delta, no order by, restrict always
+-----
+SELECT "browser_version" AS "BrowserVersion"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "BrowserVersion" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, no metrics, compare PT1H, value+delta, order by BrowserVersion, restrict never
+-----
+SELECT "browser_version" AS "BrowserVersion"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "BrowserVersion" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, no metrics, compare PT1H, value+delta, order by BrowserVersion, restrict always
+-----
+SELECT "browser_version" AS "BrowserVersion"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "BrowserVersion" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, no metrics, compare PT1H, delta+percent, no order by, restrict never
+-----
+SELECT "browser_version" AS "BrowserVersion"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "BrowserVersion" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, no metrics, compare PT1H, delta+percent, no order by, restrict always
+-----
+SELECT "browser_version" AS "BrowserVersion"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "BrowserVersion" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, no metrics, compare PT1H, delta+percent, order by BrowserVersion, restrict never
+-----
+SELECT "browser_version" AS "BrowserVersion"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "BrowserVersion" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, no metrics, compare PT1H, delta+percent, order by BrowserVersion, restrict always
+-----
+SELECT "browser_version" AS "BrowserVersion"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "BrowserVersion" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, no metrics, compare PT1H, all compare types, no order by, restrict never
+-----
+SELECT "browser_version" AS "BrowserVersion"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "BrowserVersion" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, no metrics, compare PT1H, all compare types, no order by, restrict always
+-----
+SELECT "browser_version" AS "BrowserVersion"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "BrowserVersion" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, no metrics, compare PT1H, all compare types, order by BrowserVersion, restrict never
+-----
+SELECT "browser_version" AS "BrowserVersion"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "BrowserVersion" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, no metrics, compare PT1H, all compare types, order by BrowserVersion, restrict always
+-----
+SELECT "browser_version" AS "BrowserVersion"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "BrowserVersion" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, one metric, no compare, no order by
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COUNT(*) AS "Count"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE (TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, one metric, no compare, order by BrowserVersion
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COUNT(*) AS "Count"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE (TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "BrowserVersion" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, one metric, no compare, order by Count
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COUNT(*) AS "Count"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE (TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, one metric, compare PT1H, value+delta, no order by, restrict never
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, one metric, compare PT1H, value+delta, no order by, restrict always
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, one metric, compare PT1H, value+delta, order by BrowserVersion, restrict never
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "BrowserVersion" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, one metric, compare PT1H, value+delta, order by BrowserVersion, restrict always
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "BrowserVersion" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, one metric, compare PT1H, value+delta, order by Count, restrict never
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, one metric, compare PT1H, value+delta, order by Count, restrict always
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, one metric, compare PT1H, value+delta, Count/PT1H/value, restrict never
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count:compare:PT1H:value" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, one metric, compare PT1H, value+delta, Count/PT1H/value, restrict always
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count:compare:PT1H:value" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, one metric, compare PT1H, value+delta, Count/PT1H/delta, restrict never
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count:compare:PT1H:delta" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, one metric, compare PT1H, value+delta, Count/PT1H/delta, restrict always
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count:compare:PT1H:delta" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, one metric, compare PT1H, delta+percent, no order by, restrict never
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, one metric, compare PT1H, delta+percent, no order by, restrict always
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, one metric, compare PT1H, delta+percent, order by BrowserVersion, restrict never
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "BrowserVersion" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, one metric, compare PT1H, delta+percent, order by BrowserVersion, restrict always
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "BrowserVersion" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, one metric, compare PT1H, delta+percent, order by Count, restrict never
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, one metric, compare PT1H, delta+percent, order by Count, restrict always
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, one metric, compare PT1H, delta+percent, Count/PT1H/delta, restrict never
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count:compare:PT1H:delta" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, one metric, compare PT1H, delta+percent, Count/PT1H/delta, restrict always
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count:compare:PT1H:delta" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, one metric, compare PT1H, delta+percent, Count/PT1H/percent, restrict never
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count:compare:PT1H:percent" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, one metric, compare PT1H, delta+percent, Count/PT1H/percent, restrict always
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count:compare:PT1H:percent" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, one metric, compare PT1H, all compare types, no order by, restrict never
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, one metric, compare PT1H, all compare types, no order by, restrict always
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, one metric, compare PT1H, all compare types, order by BrowserVersion, restrict never
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "BrowserVersion" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, one metric, compare PT1H, all compare types, order by BrowserVersion, restrict always
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "BrowserVersion" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, one metric, compare PT1H, all compare types, order by Count, restrict never
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, one metric, compare PT1H, all compare types, order by Count, restrict always
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, one metric, compare PT1H, all compare types, Count/PT1H/value, restrict never
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count:compare:PT1H:value" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, one metric, compare PT1H, all compare types, Count/PT1H/value, restrict always
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count:compare:PT1H:value" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, one metric, compare PT1H, all compare types, Count/PT1H/delta, restrict never
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count:compare:PT1H:delta" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, one metric, compare PT1H, all compare types, Count/PT1H/delta, restrict always
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count:compare:PT1H:delta" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, one metric, compare PT1H, all compare types, Count/PT1H/absDelta, restrict never
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count:compare:PT1H:absDelta" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, one metric, compare PT1H, all compare types, Count/PT1H/absDelta, restrict always
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count:compare:PT1H:absDelta" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, one metric, compare PT1H, all compare types, Count/PT1H/percent, restrict never
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count:compare:PT1H:percent" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, one metric, compare PT1H, all compare types, Count/PT1H/percent, restrict always
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count:compare:PT1H:percent" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, one metric, compare PT1H, all compare types, Count/PT1H/absPercent, restrict never
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count:compare:PT1H:absPercent" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, one metric, compare PT1H, all compare types, Count/PT1H/absPercent, restrict always
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count:compare:PT1H:absPercent" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, two metrics, no compare, no order by
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COUNT(*) AS "Count",
+ COUNT(DISTINCT "session") AS "Unique sessions"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE (TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, two metrics, no compare, order by BrowserVersion
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COUNT(*) AS "Count",
+ COUNT(DISTINCT "session") AS "Unique sessions"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE (TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "BrowserVersion" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, two metrics, no compare, order by Count
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COUNT(*) AS "Count",
+ COUNT(DISTINCT "session") AS "Unique sessions"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE (TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, two metrics, no compare, order by Unique sessions
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COUNT(*) AS "Count",
+ COUNT(DISTINCT "session") AS "Unique sessions"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE (TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Unique sessions" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, two metrics, compare PT1H, value+delta, no order by, restrict never
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, two metrics, compare PT1H, value+delta, no order by, restrict always
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, two metrics, compare PT1H, value+delta, order by BrowserVersion, restrict never
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "BrowserVersion" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, two metrics, compare PT1H, value+delta, order by BrowserVersion, restrict always
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "BrowserVersion" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, two metrics, compare PT1H, value+delta, order by Count, restrict never
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, two metrics, compare PT1H, value+delta, order by Count, restrict always
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, two metrics, compare PT1H, value+delta, order by Unique sessions, restrict never
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Unique sessions" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, two metrics, compare PT1H, value+delta, order by Unique sessions, restrict always
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Unique sessions" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, two metrics, compare PT1H, value+delta, Count/PT1H/value, restrict never
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count:compare:PT1H:value" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, two metrics, compare PT1H, value+delta, Count/PT1H/value, restrict always
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count:compare:PT1H:value" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, two metrics, compare PT1H, value+delta, Count/PT1H/delta, restrict never
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count:compare:PT1H:delta" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, two metrics, compare PT1H, value+delta, Count/PT1H/delta, restrict always
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count:compare:PT1H:delta" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, two metrics, compare PT1H, value+delta, Unique sessions/PT1H/value, restrict never
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Unique sessions:compare:PT1H:value" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, two metrics, compare PT1H, value+delta, Unique sessions/PT1H/value, restrict always
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Unique sessions:compare:PT1H:value" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, two metrics, compare PT1H, value+delta, Unique sessions/PT1H/delta, restrict never
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Unique sessions:compare:PT1H:delta" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, two metrics, compare PT1H, value+delta, Unique sessions/PT1H/delta, restrict always
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Unique sessions:compare:PT1H:delta" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, two metrics, compare PT1H, delta+percent, no order by, restrict never
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, two metrics, compare PT1H, delta+percent, no order by, restrict always
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, two metrics, compare PT1H, delta+percent, order by BrowserVersion, restrict never
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "BrowserVersion" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, two metrics, compare PT1H, delta+percent, order by BrowserVersion, restrict always
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "BrowserVersion" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, two metrics, compare PT1H, delta+percent, order by Count, restrict never
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, two metrics, compare PT1H, delta+percent, order by Count, restrict always
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, two metrics, compare PT1H, delta+percent, order by Unique sessions, restrict never
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Unique sessions" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, two metrics, compare PT1H, delta+percent, order by Unique sessions, restrict always
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Unique sessions" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, two metrics, compare PT1H, delta+percent, Count/PT1H/delta, restrict never
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count:compare:PT1H:delta" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, two metrics, compare PT1H, delta+percent, Count/PT1H/delta, restrict always
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count:compare:PT1H:delta" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, two metrics, compare PT1H, delta+percent, Count/PT1H/percent, restrict never
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count:compare:PT1H:percent" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, two metrics, compare PT1H, delta+percent, Count/PT1H/percent, restrict always
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count:compare:PT1H:percent" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, two metrics, compare PT1H, delta+percent, Unique sessions/PT1H/delta, restrict never
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Unique sessions:compare:PT1H:delta" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, two metrics, compare PT1H, delta+percent, Unique sessions/PT1H/delta, restrict always
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Unique sessions:compare:PT1H:delta" DESC
+LIMIT 200"
+`;
+
+exports[`table-query uber test all queries match snapshot 4`] = `
+"
+===========================================
+group by browser_version, no show, two metrics, compare PT1H, delta+percent, Unique sessions/PT1H/percent, restrict never
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Unique sessions:compare:PT1H:percent" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, two metrics, compare PT1H, delta+percent, Unique sessions/PT1H/percent, restrict always
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Unique sessions:compare:PT1H:percent" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, two metrics, compare PT1H, all compare types, no order by, restrict never
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Unique sessions:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT( [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, two metrics, compare PT1H, all compare types, no order by, restrict always
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Unique sessions:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT( [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, two metrics, compare PT1H, all compare types, order by BrowserVersion, restrict never
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Unique sessions:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT( [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "BrowserVersion" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, two metrics, compare PT1H, all compare types, order by BrowserVersion, restrict always
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Unique sessions:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT( [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "BrowserVersion" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, two metrics, compare PT1H, all compare types, order by Count, restrict never
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Unique sessions:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT( [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, two metrics, compare PT1H, all compare types, order by Count, restrict always
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Unique sessions:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT( [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, two metrics, compare PT1H, all compare types, order by Unique sessions, restrict never
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Unique sessions:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT( [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Unique sessions" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, two metrics, compare PT1H, all compare types, order by Unique sessions, restrict always
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Unique sessions:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT( [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Unique sessions" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, two metrics, compare PT1H, all compare types, Count/PT1H/value, restrict never
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Unique sessions:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT( [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count:compare:PT1H:value" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, two metrics, compare PT1H, all compare types, Count/PT1H/value, restrict always
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Unique sessions:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT( [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count:compare:PT1H:value" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, two metrics, compare PT1H, all compare types, Count/PT1H/delta, restrict never
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Unique sessions:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT( [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count:compare:PT1H:delta" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, two metrics, compare PT1H, all compare types, Count/PT1H/delta, restrict always
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Unique sessions:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT( [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count:compare:PT1H:delta" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, two metrics, compare PT1H, all compare types, Count/PT1H/absDelta, restrict never
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Unique sessions:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT( [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count:compare:PT1H:absDelta" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, two metrics, compare PT1H, all compare types, Count/PT1H/absDelta, restrict always
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Unique sessions:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT( [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count:compare:PT1H:absDelta" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, two metrics, compare PT1H, all compare types, Count/PT1H/percent, restrict never
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Unique sessions:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT( [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count:compare:PT1H:percent" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, two metrics, compare PT1H, all compare types, Count/PT1H/percent, restrict always
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Unique sessions:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT( [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count:compare:PT1H:percent" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, two metrics, compare PT1H, all compare types, Count/PT1H/absPercent, restrict never
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Unique sessions:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT( [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count:compare:PT1H:absPercent" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, two metrics, compare PT1H, all compare types, Count/PT1H/absPercent, restrict always
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Unique sessions:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT( [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count:compare:PT1H:absPercent" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, two metrics, compare PT1H, all compare types, Unique sessions/PT1H/value, restrict never
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Unique sessions:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT( [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Unique sessions:compare:PT1H:value" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, two metrics, compare PT1H, all compare types, Unique sessions/PT1H/value, restrict always
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Unique sessions:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT( [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Unique sessions:compare:PT1H:value" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, two metrics, compare PT1H, all compare types, Unique sessions/PT1H/delta, restrict never
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Unique sessions:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT( [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Unique sessions:compare:PT1H:delta" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, two metrics, compare PT1H, all compare types, Unique sessions/PT1H/delta, restrict always
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Unique sessions:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT( [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Unique sessions:compare:PT1H:delta" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, two metrics, compare PT1H, all compare types, Unique sessions/PT1H/absDelta, restrict never
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Unique sessions:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT( [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Unique sessions:compare:PT1H:absDelta" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, two metrics, compare PT1H, all compare types, Unique sessions/PT1H/absDelta, restrict always
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Unique sessions:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT( [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Unique sessions:compare:PT1H:absDelta" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, two metrics, compare PT1H, all compare types, Unique sessions/PT1H/percent, restrict never
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Unique sessions:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT( [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Unique sessions:compare:PT1H:percent" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, two metrics, compare PT1H, all compare types, Unique sessions/PT1H/percent, restrict always
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Unique sessions:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT( [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Unique sessions:compare:PT1H:percent" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, two metrics, compare PT1H, all compare types, Unique sessions/PT1H/absPercent, restrict never
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Unique sessions:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT( [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Unique sessions:compare:PT1H:absPercent" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, no show, two metrics, compare PT1H, all compare types, Unique sessions/PT1H/absPercent, restrict always
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Unique sessions",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:value",
+ COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Unique sessions:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Unique sessions:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(DISTINCT "session") FILTER (WHERE TIME_SHIFT( [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Unique sessions:compare:PT1H:absPercent" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, show browser, no metrics, no compare, no order by
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE (TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "BrowserVersion" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, show browser, no metrics, no compare, order by BrowserVersion
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE (TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "BrowserVersion" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, show browser, no metrics, no compare, order by Browser
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE (TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Browser" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, show browser, no metrics, compare PT1H, value+delta, no order by, restrict never
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "BrowserVersion" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, show browser, no metrics, compare PT1H, value+delta, no order by, restrict always
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "BrowserVersion" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, show browser, no metrics, compare PT1H, value+delta, order by BrowserVersion, restrict never
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "BrowserVersion" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, show browser, no metrics, compare PT1H, value+delta, order by BrowserVersion, restrict always
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "BrowserVersion" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, show browser, no metrics, compare PT1H, value+delta, order by Browser, restrict never
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Browser" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, show browser, no metrics, compare PT1H, value+delta, order by Browser, restrict always
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Browser" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, show browser, no metrics, compare PT1H, delta+percent, no order by, restrict never
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "BrowserVersion" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, show browser, no metrics, compare PT1H, delta+percent, no order by, restrict always
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "BrowserVersion" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, show browser, no metrics, compare PT1H, delta+percent, order by BrowserVersion, restrict never
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "BrowserVersion" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, show browser, no metrics, compare PT1H, delta+percent, order by BrowserVersion, restrict always
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "BrowserVersion" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, show browser, no metrics, compare PT1H, delta+percent, order by Browser, restrict never
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Browser" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, show browser, no metrics, compare PT1H, delta+percent, order by Browser, restrict always
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Browser" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, show browser, no metrics, compare PT1H, all compare types, no order by, restrict never
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "BrowserVersion" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, show browser, no metrics, compare PT1H, all compare types, no order by, restrict always
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "BrowserVersion" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, show browser, no metrics, compare PT1H, all compare types, order by BrowserVersion, restrict never
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "BrowserVersion" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, show browser, no metrics, compare PT1H, all compare types, order by BrowserVersion, restrict always
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "BrowserVersion" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, show browser, no metrics, compare PT1H, all compare types, order by Browser, restrict never
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Browser" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, show browser, no metrics, compare PT1H, all compare types, order by Browser, restrict always
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Browser" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, show browser, one metric, no compare, no order by
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COUNT(*) AS "Count"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE (TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, show browser, one metric, no compare, order by BrowserVersion
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COUNT(*) AS "Count"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE (TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "BrowserVersion" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, show browser, one metric, no compare, order by Browser
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COUNT(*) AS "Count"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE (TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Browser" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, show browser, one metric, no compare, order by Count
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COUNT(*) AS "Count"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE (TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, show browser, one metric, compare PT1H, value+delta, no order by, restrict never
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, show browser, one metric, compare PT1H, value+delta, no order by, restrict always
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, show browser, one metric, compare PT1H, value+delta, order by BrowserVersion, restrict never
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "BrowserVersion" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, show browser, one metric, compare PT1H, value+delta, order by BrowserVersion, restrict always
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "BrowserVersion" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, show browser, one metric, compare PT1H, value+delta, order by Browser, restrict never
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Browser" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, show browser, one metric, compare PT1H, value+delta, order by Browser, restrict always
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Browser" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, show browser, one metric, compare PT1H, value+delta, order by Count, restrict never
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, show browser, one metric, compare PT1H, value+delta, order by Count, restrict always
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, show browser, one metric, compare PT1H, value+delta, Count/PT1H/value, restrict never
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count:compare:PT1H:value" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, show browser, one metric, compare PT1H, value+delta, Count/PT1H/value, restrict always
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count:compare:PT1H:value" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, show browser, one metric, compare PT1H, value+delta, Count/PT1H/delta, restrict never
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count:compare:PT1H:delta" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, show browser, one metric, compare PT1H, value+delta, Count/PT1H/delta, restrict always
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta"
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count:compare:PT1H:delta" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, show browser, one metric, compare PT1H, delta+percent, no order by, restrict never
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, show browser, one metric, compare PT1H, delta+percent, no order by, restrict always
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, show browser, one metric, compare PT1H, delta+percent, order by BrowserVersion, restrict never
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "BrowserVersion" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, show browser, one metric, compare PT1H, delta+percent, order by BrowserVersion, restrict always
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "BrowserVersion" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, show browser, one metric, compare PT1H, delta+percent, order by Browser, restrict never
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Browser" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, show browser, one metric, compare PT1H, delta+percent, order by Browser, restrict always
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Browser" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, show browser, one metric, compare PT1H, delta+percent, order by Count, restrict never
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, show browser, one metric, compare PT1H, delta+percent, order by Count, restrict always
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, show browser, one metric, compare PT1H, delta+percent, Count/PT1H/delta, restrict never
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count:compare:PT1H:delta" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, show browser, one metric, compare PT1H, delta+percent, Count/PT1H/delta, restrict always
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count:compare:PT1H:delta" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, show browser, one metric, compare PT1H, delta+percent, Count/PT1H/percent, restrict never
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count:compare:PT1H:percent" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, show browser, one metric, compare PT1H, delta+percent, Count/PT1H/percent, restrict always
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count:compare:PT1H:percent" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, show browser, one metric, compare PT1H, all compare types, no order by, restrict never
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, show browser, one metric, compare PT1H, all compare types, no order by, restrict always
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, show browser, one metric, compare PT1H, all compare types, order by BrowserVersion, restrict never
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "BrowserVersion" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, show browser, one metric, compare PT1H, all compare types, order by BrowserVersion, restrict always
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "BrowserVersion" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, show browser, one metric, compare PT1H, all compare types, order by Browser, restrict never
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Browser" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, show browser, one metric, compare PT1H, all compare types, order by Browser, restrict always
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Browser" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, show browser, one metric, compare PT1H, all compare types, order by Count, restrict never
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, show browser, one metric, compare PT1H, all compare types, order by Count, restrict always
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, show browser, one metric, compare PT1H, all compare types, Count/PT1H/value, restrict never
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count:compare:PT1H:value" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, show browser, one metric, compare PT1H, all compare types, Count/PT1H/value, restrict always
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count:compare:PT1H:value" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, show browser, one metric, compare PT1H, all compare types, Count/PT1H/delta, restrict never
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count:compare:PT1H:delta" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, show browser, one metric, compare PT1H, all compare types, Count/PT1H/delta, restrict always
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count:compare:PT1H:delta" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, show browser, one metric, compare PT1H, all compare types, Count/PT1H/absDelta, restrict never
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:value",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS "Count:compare:PT1H:delta",
+ ABS(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0)) AS "Count:compare:PT1H:absDelta",
+ COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) [...]
+ ABS(COALESCE(SAFE_DIVIDE(CAST(COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) - COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1)), 0) AS DOUBLE), COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', [...]
+FROM (
+ SELECT *
+ FROM "kttm"
+ WHERE ((TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00') OR (TIME_SHIFT(TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1), 'PT1H', -1) <= "__time" AND "__time" < TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1))) AND "country" = 'United States'
+)
+GROUP BY 1
+ORDER BY "Count:compare:PT1H:absDelta" DESC
+LIMIT 200
+
+===========================================
+group by browser_version, show browser, one metric, compare PT1H, all compare types, Count/PT1H/absDelta, restrict always
+-----
+SELECT
+ "browser_version" AS "BrowserVersion",
+ CASE WHEN COUNT(DISTINCT "browser") = 1 THEN LATEST("browser") ELSE NULL END AS "Browser",
+ COALESCE(COUNT(*) FILTER (WHERE TIME_SHIFT(TIMESTAMP '2019-08-26 00:00:00', 'PT1H', -1) <= "__time" AND "__time" < TIMESTAMP '2019-08-26 00:00:00'), 0) AS "Count",
... 80498 lines suppressed ...
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@druid.apache.org
For additional commands, e-mail: commits-help@druid.apache.org