mirror of
https://github.com/MariaDB/server.git
synced 2025-11-03 14:33:32 +03:00
Merge bk@192.168.21.1:mysql-5.1-opt
into mysql.com:/d2/hf/mrg/mysql-5.1-opt
This commit is contained in:
@@ -607,6 +607,67 @@ x a sum(b)
|
||||
2006-07-01 NULL 11
|
||||
NULL NULL 11
|
||||
drop table t1;
|
||||
CREATE TABLE t1 (a int, b int);
|
||||
INSERT INTO t1
|
||||
VALUES (2,10),(3,30),(2,40),(1,10),(2,30),(1,20),(2,10);
|
||||
SELECT a, SUM(b) FROM t1 GROUP BY a WITH ROLLUP;
|
||||
a SUM(b)
|
||||
1 30
|
||||
2 90
|
||||
3 30
|
||||
NULL 150
|
||||
SELECT DISTINCT a, SUM(b) FROM t1 GROUP BY a WITH ROLLUP;
|
||||
a SUM(b)
|
||||
1 30
|
||||
2 90
|
||||
3 30
|
||||
NULL 150
|
||||
SELECT a, b, COUNT(*) FROM t1 GROUP BY a,b WITH ROLLUP;
|
||||
a b COUNT(*)
|
||||
1 10 1
|
||||
1 20 1
|
||||
1 NULL 2
|
||||
2 10 2
|
||||
2 30 1
|
||||
2 40 1
|
||||
2 NULL 4
|
||||
3 30 1
|
||||
3 NULL 1
|
||||
NULL NULL 7
|
||||
SELECT DISTINCT a, b, COUNT(*) FROM t1 GROUP BY a,b WITH ROLLUP;
|
||||
a b COUNT(*)
|
||||
1 10 1
|
||||
1 20 1
|
||||
1 NULL 2
|
||||
2 10 2
|
||||
2 30 1
|
||||
2 40 1
|
||||
2 NULL 4
|
||||
3 30 1
|
||||
3 NULL 1
|
||||
NULL NULL 7
|
||||
SELECT 'x', a, SUM(b) FROM t1 GROUP BY 1,2 WITH ROLLUP;
|
||||
x a SUM(b)
|
||||
x 1 30
|
||||
x 2 90
|
||||
x 3 30
|
||||
x NULL 150
|
||||
NULL NULL 150
|
||||
SELECT DISTINCT 'x', a, SUM(b) FROM t1 GROUP BY 1,2 WITH ROLLUP;
|
||||
x a SUM(b)
|
||||
x 1 30
|
||||
x 2 90
|
||||
x 3 30
|
||||
x NULL 150
|
||||
NULL NULL 150
|
||||
SELECT DISTINCT 'x', a, SUM(b) FROM t1 GROUP BY 1,2 WITH ROLLUP;
|
||||
x a SUM(b)
|
||||
x 1 30
|
||||
x 2 90
|
||||
x 3 30
|
||||
x NULL 150
|
||||
NULL NULL 150
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1(id int, type char(1));
|
||||
INSERT INTO t1 VALUES
|
||||
(1,"A"),(2,"C"),(3,"A"),(4,"A"),(5,"B"),
|
||||
|
||||
@@ -221,15 +221,13 @@ f1 f2
|
||||
select 1 from dual where cast('2001-1-1 2:3:4' as date) = cast('2001-01-01' as datetime);
|
||||
1
|
||||
1
|
||||
select f1, f2, UNIX_TIMESTAMP(f2), UNIX_TIMESTAMP(f1),
|
||||
f1 > f2, f1 = f2, f1 < f2
|
||||
from t1;
|
||||
f1 f2 UNIX_TIMESTAMP(f2) UNIX_TIMESTAMP(f1) f1 > f2 f1 = f2 f1 < f2
|
||||
2001-01-01 2001-01-01 01:01:01 978300061 978296400 0 0 1
|
||||
2001-02-05 2001-02-05 00:00:00 981320400 981320400 0 1 0
|
||||
2001-03-10 2001-03-09 01:01:01 984088861 984171600 1 0 0
|
||||
2001-04-15 2001-04-15 00:00:00 987282000 987282000 0 1 0
|
||||
2001-05-20 2001-05-20 01:01:01 990309661 990306000 0 0 1
|
||||
select f1, f2, f1 > f2, f1 = f2, f1 < f2 from t1;
|
||||
f1 f2 f1 > f2 f1 = f2 f1 < f2
|
||||
2001-01-01 2001-01-01 01:01:01 0 0 1
|
||||
2001-02-05 2001-02-05 00:00:00 0 1 0
|
||||
2001-03-10 2001-03-09 01:01:01 1 0 0
|
||||
2001-04-15 2001-04-15 00:00:00 0 1 0
|
||||
2001-05-20 2001-05-20 01:01:01 0 0 1
|
||||
drop table t1;
|
||||
create table t1 (f1 date, f2 datetime, f3 timestamp);
|
||||
insert into t1 values('2001-01-01','2001-01-01 01:01:01','2001-01-01 01:01:01');
|
||||
|
||||
@@ -292,6 +292,25 @@ select left(a,10), a, sum(b) from t1 group by 1,2 with rollup;
|
||||
select left(a,10) x, a, sum(b) from t1 group by x,a with rollup;
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# Bug #24856: ROLLUP by const item in a query with DISTINCT
|
||||
#
|
||||
|
||||
CREATE TABLE t1 (a int, b int);
|
||||
INSERT INTO t1
|
||||
VALUES (2,10),(3,30),(2,40),(1,10),(2,30),(1,20),(2,10);
|
||||
|
||||
SELECT a, SUM(b) FROM t1 GROUP BY a WITH ROLLUP;
|
||||
SELECT DISTINCT a, SUM(b) FROM t1 GROUP BY a WITH ROLLUP;
|
||||
SELECT a, b, COUNT(*) FROM t1 GROUP BY a,b WITH ROLLUP;
|
||||
SELECT DISTINCT a, b, COUNT(*) FROM t1 GROUP BY a,b WITH ROLLUP;
|
||||
|
||||
SELECT 'x', a, SUM(b) FROM t1 GROUP BY 1,2 WITH ROLLUP;
|
||||
SELECT DISTINCT 'x', a, SUM(b) FROM t1 GROUP BY 1,2 WITH ROLLUP;
|
||||
SELECT DISTINCT 'x', a, SUM(b) FROM t1 GROUP BY 1,2 WITH ROLLUP;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
# End of 4.1 tests
|
||||
|
||||
#
|
||||
@@ -339,6 +358,3 @@ SELECT * FROM (SELECT a, SUM(a) FROM t1 GROUP BY a WITH ROLLUP) as t;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -157,9 +157,7 @@ select f1, f3 from t1 where f1 >= '2001-02-05 00:00:00' and f3 <= '2001-04-15';
|
||||
select f1, f3 from t1 where f1 >= '2001-2-5 0:0:0' and f2 <= '2001-4-15';
|
||||
select f1, f2 from t1 where if(1, f1, 0) >= f2;
|
||||
select 1 from dual where cast('2001-1-1 2:3:4' as date) = cast('2001-01-01' as datetime);
|
||||
select f1, f2, UNIX_TIMESTAMP(f2), UNIX_TIMESTAMP(f1),
|
||||
f1 > f2, f1 = f2, f1 < f2
|
||||
from t1;
|
||||
select f1, f2, f1 > f2, f1 = f2, f1 < f2 from t1;
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
|
||||
Reference in New Issue
Block a user