blob: feab89822bb01d95d99b10f1f00d708f95f3f4ec [file] [log] [blame]
# Copyright 2016, Quickstep Research Group, Computer Sciences Department,
# University of Wisconsin—Madison.
#
# Licensed 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.
CREATE TABLE foo(x INT, y DOUBLE, z INT);
INSERT INTO foo
SELECT i,
(i + 0.5) % 100,
i % 3
FROM generate_series(0, 29999) AS gs(i);
SELECT COUNT(*),
COUNT(DISTINCT x),
COUNT(DISTINCT y),
COUNT(DISTINCT z)
FROM foo;
--
+--------------------+--------------------+--------------------+--------------------+
|COUNT(*) |COUNT(DISTINCT x) |COUNT(DISTINCT y) |COUNT(DISTINCT z) |
+--------------------+--------------------+--------------------+--------------------+
| 30000| 30000| 100| 3|
+--------------------+--------------------+--------------------+--------------------+
==
SELECT SUM(y),
SUM(DISTINCT y),
COUNT(DISTINCT y),
AVG(DISTINCT y),
z
FROM foo
GROUP BY z
ORDER BY z;
--
+------------------------+------------------------+--------------------+------------------------+-----------+
|SUM(y) |SUM(DISTINCT y) |COUNT(DISTINCT y) |AVG(DISTINCT y) |z |
+------------------------+------------------------+--------------------+------------------------+-----------+
| 500000| 5000| 100| 50| 0|
| 500000| 5000| 100| 50| 1|
| 500000| 5000| 100| 50| 2|
+------------------------+------------------------+--------------------+------------------------+-----------+
==
SELECT MAX(x) * SUM(DISTINCT y),
COUNT(DISTINCT x % y) + z,
z
FROM foo
GROUP BY z
ORDER BY z;
--
+------------------------+-------------------------+-----------+
|(MAX(x)*SUM(DISTINCT y))|(COUNT(DISTINCT (x%y))+z)|z |
+------------------------+-------------------------+-----------+
| 149985000| 196| 0|
| 149990000| 197| 1|
| 149995000| 195| 2|
+------------------------+-------------------------+-----------+
==