Loading mysql-test/r/group_min_max.result +37 −0 Original line number Diff line number Diff line Loading @@ -2070,3 +2070,40 @@ SELECT a FROM t1 WHERE a LIKE 'B%' GROUP BY a; a BB DROP TABLE t1; CREATE TABLE t1 ( a int(11) NOT NULL DEFAULT '0', b varchar(16) COLLATE latin1_general_ci NOT NULL DEFAULT '', PRIMARY KEY (a,b) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci; CREATE PROCEDURE a(x INT) BEGIN DECLARE rnd INT; DECLARE cnt INT; WHILE x > 0 DO SET rnd= x % 100; SET cnt = (SELECT COUNT(*) FROM t1 WHERE a = rnd); INSERT INTO t1(a,b) VALUES (rnd, CAST(cnt AS CHAR)); SET x= x - 1; END WHILE; END| CALL a(1000); SELECT a FROM t1 WHERE a=0; a 0 0 0 0 0 0 0 0 0 0 SELECT DISTINCT a FROM t1 WHERE a=0; a 0 SELECT COUNT(DISTINCT a) FROM t1 WHERE a=0; COUNT(DISTINCT a) 1 DROP TABLE t1; DROP PROCEDURE a; mysql-test/t/group_min_max.test +38 −0 Original line number Diff line number Diff line Loading @@ -736,3 +736,41 @@ SELECT DISTINCT a FROM t1 WHERE a LIKE 'B%'; SELECT a FROM t1 WHERE a LIKE 'B%' GROUP BY a; DROP TABLE t1; # # Bug #15102: select distinct returns empty result, select count # distinct > 0 (correct) # CREATE TABLE t1 ( a int(11) NOT NULL DEFAULT '0', b varchar(16) COLLATE latin1_general_ci NOT NULL DEFAULT '', PRIMARY KEY (a,b) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci; delimiter |; CREATE PROCEDURE a(x INT) BEGIN DECLARE rnd INT; DECLARE cnt INT; WHILE x > 0 DO SET rnd= x % 100; SET cnt = (SELECT COUNT(*) FROM t1 WHERE a = rnd); INSERT INTO t1(a,b) VALUES (rnd, CAST(cnt AS CHAR)); SET x= x - 1; END WHILE; END| DELIMITER ;| CALL a(1000); SELECT a FROM t1 WHERE a=0; SELECT DISTINCT a FROM t1 WHERE a=0; SELECT COUNT(DISTINCT a) FROM t1 WHERE a=0; DROP TABLE t1; DROP PROCEDURE a; Loading
mysql-test/r/group_min_max.result +37 −0 Original line number Diff line number Diff line Loading @@ -2070,3 +2070,40 @@ SELECT a FROM t1 WHERE a LIKE 'B%' GROUP BY a; a BB DROP TABLE t1; CREATE TABLE t1 ( a int(11) NOT NULL DEFAULT '0', b varchar(16) COLLATE latin1_general_ci NOT NULL DEFAULT '', PRIMARY KEY (a,b) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci; CREATE PROCEDURE a(x INT) BEGIN DECLARE rnd INT; DECLARE cnt INT; WHILE x > 0 DO SET rnd= x % 100; SET cnt = (SELECT COUNT(*) FROM t1 WHERE a = rnd); INSERT INTO t1(a,b) VALUES (rnd, CAST(cnt AS CHAR)); SET x= x - 1; END WHILE; END| CALL a(1000); SELECT a FROM t1 WHERE a=0; a 0 0 0 0 0 0 0 0 0 0 SELECT DISTINCT a FROM t1 WHERE a=0; a 0 SELECT COUNT(DISTINCT a) FROM t1 WHERE a=0; COUNT(DISTINCT a) 1 DROP TABLE t1; DROP PROCEDURE a;
mysql-test/t/group_min_max.test +38 −0 Original line number Diff line number Diff line Loading @@ -736,3 +736,41 @@ SELECT DISTINCT a FROM t1 WHERE a LIKE 'B%'; SELECT a FROM t1 WHERE a LIKE 'B%' GROUP BY a; DROP TABLE t1; # # Bug #15102: select distinct returns empty result, select count # distinct > 0 (correct) # CREATE TABLE t1 ( a int(11) NOT NULL DEFAULT '0', b varchar(16) COLLATE latin1_general_ci NOT NULL DEFAULT '', PRIMARY KEY (a,b) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci; delimiter |; CREATE PROCEDURE a(x INT) BEGIN DECLARE rnd INT; DECLARE cnt INT; WHILE x > 0 DO SET rnd= x % 100; SET cnt = (SELECT COUNT(*) FROM t1 WHERE a = rnd); INSERT INTO t1(a,b) VALUES (rnd, CAST(cnt AS CHAR)); SET x= x - 1; END WHILE; END| DELIMITER ;| CALL a(1000); SELECT a FROM t1 WHERE a=0; SELECT DISTINCT a FROM t1 WHERE a=0; SELECT COUNT(DISTINCT a) FROM t1 WHERE a=0; DROP TABLE t1; DROP PROCEDURE a;