mirror of
https://github.com/MariaDB/server.git
synced 2025-08-01 03:47:19 +03:00
Merge rurik.mysql.com:/home/igor/mysql-5.0
into rurik.mysql.com:/home/igor/dev/mysql-5.0-0 mysql-test/r/subselect.result: Auto merged sql/sql_select.cc: Auto merged
This commit is contained in:
@ -3131,3 +3131,29 @@ a sum
|
||||
3 20
|
||||
4 40
|
||||
DROP TABLE t1,t2,t3;
|
||||
CREATE TABLE t1 (a varchar(5), b varchar(10));
|
||||
INSERT INTO t1 VALUES
|
||||
('AAA', 5), ('BBB', 4), ('BBB', 1), ('CCC', 2),
|
||||
('CCC', 7), ('AAA', 2), ('AAA', 4), ('BBB', 3), ('AAA', 8);
|
||||
SELECT * FROM t1 WHERE (a,b) = ANY (SELECT a, max(b) FROM t1 GROUP BY a);
|
||||
a b
|
||||
BBB 4
|
||||
CCC 7
|
||||
AAA 8
|
||||
EXPLAIN
|
||||
SELECT * FROM t1 WHERE (a,b) = ANY (SELECT a, max(b) FROM t1 GROUP BY a);
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 PRIMARY t1 ALL NULL NULL NULL NULL 9 Using where
|
||||
2 DEPENDENT SUBQUERY t1 ALL NULL NULL NULL NULL 9 Using temporary; Using filesort
|
||||
ALTER TABLE t1 ADD INDEX(a);
|
||||
SELECT * FROM t1 WHERE (a,b) = ANY (SELECT a, max(b) FROM t1 GROUP BY a);
|
||||
a b
|
||||
BBB 4
|
||||
CCC 7
|
||||
AAA 8
|
||||
EXPLAIN
|
||||
SELECT * FROM t1 WHERE (a,b) = ANY (SELECT a, max(b) FROM t1 GROUP BY a);
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 PRIMARY t1 ALL NULL NULL NULL NULL 9 Using where
|
||||
2 DEPENDENT SUBQUERY t1 index NULL a 8 NULL 9 Using filesort
|
||||
DROP TABLE t1;
|
||||
|
@ -2051,3 +2051,25 @@ SELECT t1.a, SUM(b) AS sum FROM t1 GROUP BY t1.a
|
||||
HAVING t2.c+sum > 20);
|
||||
|
||||
DROP TABLE t1,t2,t3;
|
||||
|
||||
#
|
||||
# Test for bug #16603: GROUP BY in a row subquery with a quantifier
|
||||
# when an index is defined on the grouping field
|
||||
|
||||
CREATE TABLE t1 (a varchar(5), b varchar(10));
|
||||
INSERT INTO t1 VALUES
|
||||
('AAA', 5), ('BBB', 4), ('BBB', 1), ('CCC', 2),
|
||||
('CCC', 7), ('AAA', 2), ('AAA', 4), ('BBB', 3), ('AAA', 8);
|
||||
|
||||
SELECT * FROM t1 WHERE (a,b) = ANY (SELECT a, max(b) FROM t1 GROUP BY a);
|
||||
EXPLAIN
|
||||
SELECT * FROM t1 WHERE (a,b) = ANY (SELECT a, max(b) FROM t1 GROUP BY a);
|
||||
|
||||
ALTER TABLE t1 ADD INDEX(a);
|
||||
|
||||
SELECT * FROM t1 WHERE (a,b) = ANY (SELECT a, max(b) FROM t1 GROUP BY a);
|
||||
EXPLAIN
|
||||
SELECT * FROM t1 WHERE (a,b) = ANY (SELECT a, max(b) FROM t1 GROUP BY a);
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
|
Reference in New Issue
Block a user