mirror of
https://github.com/MariaDB/server.git
synced 2025-12-03 05:41:09 +03:00
olap.result, olap.test:
Added a test case for bug #8616. item.h: Fixed bug #8616. Added class Item_null_result used in rollup processing. sql_select.h, sql_select.cc: Fixed bug #8616. Added JOIN::rollup_write_data to cover rollup queries with DISTINCT. Modified other rollup methods.
This commit is contained in:
@@ -307,3 +307,57 @@ day sample not_cancelled
|
||||
2004-06-07 1 0
|
||||
NULL 3 1
|
||||
DROP TABLE user_day;
|
||||
CREATE TABLE t1 (a int, b int);
|
||||
INSERT INTO t1 VALUES
|
||||
(1,4),
|
||||
(2,2), (2,2),
|
||||
(4,1), (4,1), (4,1), (4,1),
|
||||
(2,1), (2,1);
|
||||
SELECT SUM(b) FROM t1 GROUP BY a WITH ROLLUP;
|
||||
SUM(b)
|
||||
4
|
||||
6
|
||||
4
|
||||
14
|
||||
SELECT DISTINCT SUM(b) FROM t1 GROUP BY a WITH ROLLUP;
|
||||
SUM(b)
|
||||
4
|
||||
6
|
||||
14
|
||||
SELECT SUM(b), COUNT(DISTINCT b) FROM t1 GROUP BY a WITH ROLLUP;
|
||||
SUM(b) COUNT(DISTINCT b)
|
||||
4 1
|
||||
6 2
|
||||
4 1
|
||||
14 3
|
||||
SELECT DISTINCT SUM(b), COUNT(DISTINCT b) FROM t1 GROUP BY a WITH ROLLUP;
|
||||
SUM(b) COUNT(DISTINCT b)
|
||||
4 1
|
||||
6 2
|
||||
14 3
|
||||
SELECT SUM(b), COUNT(*) FROM t1 GROUP BY a WITH ROLLUP;
|
||||
SUM(b) COUNT(*)
|
||||
4 1
|
||||
6 4
|
||||
4 4
|
||||
14 9
|
||||
SELECT DISTINCT SUM(b), COUNT(*) FROM t1 GROUP BY a WITH ROLLUP;
|
||||
SUM(b) COUNT(*)
|
||||
4 1
|
||||
6 4
|
||||
4 4
|
||||
14 9
|
||||
SELECT SUM(b), COUNT(DISTINCT b), COUNT(*) FROM t1 GROUP BY a WITH ROLLUP;
|
||||
SUM(b) COUNT(DISTINCT b) COUNT(*)
|
||||
4 1 1
|
||||
6 2 4
|
||||
4 1 4
|
||||
14 3 9
|
||||
SELECT DISTINCT SUM(b), COUNT(DISTINCT b), COUNT(*) FROM t1
|
||||
GROUP BY a WITH ROLLUP;
|
||||
SUM(b) COUNT(DISTINCT b) COUNT(*)
|
||||
4 1 1
|
||||
6 2 4
|
||||
4 1 4
|
||||
14 3 9
|
||||
DROP TABLE t1;
|
||||
|
||||
@@ -125,3 +125,30 @@ SELECT
|
||||
|
||||
DROP TABLE user_day;
|
||||
|
||||
#
|
||||
# Test for bug #8616: distinct sum with rollup
|
||||
#
|
||||
|
||||
CREATE TABLE t1 (a int, b int);
|
||||
|
||||
INSERT INTO t1 VALUES
|
||||
(1,4),
|
||||
(2,2), (2,2),
|
||||
(4,1), (4,1), (4,1), (4,1),
|
||||
(2,1), (2,1);
|
||||
|
||||
SELECT SUM(b) FROM t1 GROUP BY a WITH ROLLUP;
|
||||
SELECT DISTINCT SUM(b) FROM t1 GROUP BY a WITH ROLLUP;
|
||||
|
||||
SELECT SUM(b), COUNT(DISTINCT b) FROM t1 GROUP BY a WITH ROLLUP;
|
||||
SELECT DISTINCT SUM(b), COUNT(DISTINCT b) FROM t1 GROUP BY a WITH ROLLUP;
|
||||
|
||||
SELECT SUM(b), COUNT(*) FROM t1 GROUP BY a WITH ROLLUP;
|
||||
SELECT DISTINCT SUM(b), COUNT(*) FROM t1 GROUP BY a WITH ROLLUP;
|
||||
|
||||
SELECT SUM(b), COUNT(DISTINCT b), COUNT(*) FROM t1 GROUP BY a WITH ROLLUP;
|
||||
SELECT DISTINCT SUM(b), COUNT(DISTINCT b), COUNT(*) FROM t1
|
||||
GROUP BY a WITH ROLLUP;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user