mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-31 15:50:51 +03:00 
			
		
		
		
	 45aa92c574
			
		
	
	45aa92c574
	
	
	
		
			
			Note that mix_innodb_myisam_binlog and union fails after this patch (Will be fixed shortly by maintaners of this code)
		
			
				
	
	
		
			621 lines
		
	
	
		
			22 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			621 lines
		
	
	
		
			22 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| drop table if exists t1,t2;
 | |
| create table t1 (grp int, a bigint unsigned, c char(10) not null);
 | |
| insert into t1 values (1,1,"a");
 | |
| insert into t1 values (2,2,"b");
 | |
| insert into t1 values (2,3,"c");
 | |
| insert into t1 values (3,4,"E");
 | |
| insert into t1 values (3,5,"C");
 | |
| insert into t1 values (3,6,"D");
 | |
| select a,c,sum(a) from t1 group by a;
 | |
| a	c	sum(a)
 | |
| 1	a	1
 | |
| 2	b	2
 | |
| 3	c	3
 | |
| 4	E	4
 | |
| 5	C	5
 | |
| 6	D	6
 | |
| select a,c,sum(a) from t1 where a > 10 group by a;
 | |
| a	c	sum(a)
 | |
| select sum(a) from t1 where a > 10;
 | |
| sum(a)
 | |
| NULL
 | |
| select a from t1 order by rand(10);
 | |
| a
 | |
| 2
 | |
| 6
 | |
| 1
 | |
| 3
 | |
| 5
 | |
| 4
 | |
| select distinct a from t1 order by rand(10);
 | |
| a
 | |
| 2
 | |
| 6
 | |
| 1
 | |
| 3
 | |
| 5
 | |
| 4
 | |
| select count(distinct a),count(distinct grp) from t1;
 | |
| count(distinct a)	count(distinct grp)
 | |
| 6	3
 | |
| insert into t1 values (null,null,'');
 | |
| select count(distinct a),count(distinct grp) from t1;
 | |
| count(distinct a)	count(distinct grp)
 | |
| 6	3
 | |
| select sum(all a),count(all a),avg(all a),std(all a),variance(all a),bit_or(all a),bit_and(all a),min(all a),max(all a),min(all c),max(all c) from t1;
 | |
| sum(all a)	count(all a)	avg(all a)	std(all a)	variance(all a)	bit_or(all a)	bit_and(all a)	min(all a)	max(all a)	min(all c)	max(all c)
 | |
| 21	6	3.5000	1.7078	2.9167	7	0	1	6		E
 | |
| select grp, sum(a),count(a),avg(a),std(a),variance(a),bit_or(a),bit_and(a),min(a),max(a),min(c),max(c) from t1 group by grp;
 | |
| grp	sum(a)	count(a)	avg(a)	std(a)	variance(a)	bit_or(a)	bit_and(a)	min(a)	max(a)	min(c)	max(c)
 | |
| NULL	NULL	0	NULL	NULL	NULL	0	0	NULL	NULL		
 | |
| 1	1	1	1.0000	0.0000	0.0000	1	1	1	1	a	a
 | |
| 2	5	2	2.5000	0.5000	0.2500	3	2	2	3	b	c
 | |
| 3	15	3	5.0000	0.8165	0.6667	7	4	4	6	C	E
 | |
| select grp, sum(a)+count(a)+avg(a)+std(a)+variance(a)+bit_or(a)+bit_and(a)+min(a)+max(a)+min(c)+max(c) as sum from t1 group by grp;
 | |
| grp	sum
 | |
| NULL	NULL
 | |
| 1	7
 | |
| 2	20.25
 | |
| 3	45.483163247594
 | |
| create table t2 (grp int, a bigint unsigned, c char(10));
 | |
| insert into t2 select grp,max(a)+max(grp),max(c) from t1 group by grp;
 | |
| replace into t2 select grp, a, c from t1 limit 2,1;
 | |
| select * from t2;
 | |
| grp	a	c
 | |
| NULL	NULL	
 | |
| 1	2	a
 | |
| 2	5	c
 | |
| 3	9	E
 | |
| 2	3	c
 | |
| drop table t1,t2;
 | |
| CREATE TABLE t1 (id int(11),value1 float(10,2));
 | |
| INSERT INTO t1 VALUES (1,0.00),(1,1.00), (1,2.00), (2,10.00), (2,11.00), (2,12.00);
 | |
| CREATE TABLE t2 (id int(11),name char(20));
 | |
| INSERT INTO t2 VALUES (1,'Set One'),(2,'Set Two');
 | |
| select id, avg(value1), std(value1), variance(value1) from t1 group by id;
 | |
| id	avg(value1)	std(value1)	variance(value1)
 | |
| 1	1.000000	0.816497	0.666667
 | |
| 2	11.000000	0.816497	0.666667
 | |
| select name, avg(value1), std(value1), variance(value1) from t1, t2 where t1.id = t2.id group by t1.id;
 | |
| name	avg(value1)	std(value1)	variance(value1)
 | |
| Set One	1.000000	0.816497	0.666667
 | |
| Set Two	11.000000	0.816497	0.666667
 | |
| drop table t1,t2;
 | |
| create table t1 (id int not null);
 | |
| create table t2 (id int not null,rating int null);
 | |
| insert into t1 values(1),(2),(3);
 | |
| insert into t2 values(1, 3),(2, NULL),(2, NULL),(3, 2),(3, NULL);
 | |
| select t1.id, avg(rating) from t1 left join t2 on ( t1.id = t2.id ) group by t1.id;
 | |
| id	avg(rating)
 | |
| 1	3.0000
 | |
| 2	NULL
 | |
| 3	2.0000
 | |
| drop table t1,t2;
 | |
| create table t1 (a smallint(6) primary key, c char(10), b text);
 | |
| INSERT INTO t1 VALUES (1,'1','1');
 | |
| INSERT INTO t1 VALUES (2,'2','2');
 | |
| INSERT INTO t1 VALUES (4,'4','4');
 | |
| select count(*) from t1;
 | |
| count(*)
 | |
| 3
 | |
| select count(*) from t1 where a = 1;
 | |
| count(*)
 | |
| 1
 | |
| select count(*) from t1 where a = 100;
 | |
| count(*)
 | |
| 0
 | |
| select count(*) from t1 where a >= 10;
 | |
| count(*)
 | |
| 0
 | |
| select count(a) from t1 where a = 1;
 | |
| count(a)
 | |
| 1
 | |
| select count(a) from t1 where a = 100;
 | |
| count(a)
 | |
| 0
 | |
| select count(a) from t1 where a >= 10;
 | |
| count(a)
 | |
| 0
 | |
| select count(b) from t1 where b >= 2;
 | |
| count(b)
 | |
| 2
 | |
| select count(b) from t1 where b >= 10;
 | |
| count(b)
 | |
| 0
 | |
| select count(c) from t1 where c = 10;
 | |
| count(c)
 | |
| 0
 | |
| drop table t1;
 | |
| CREATE TABLE t1 (d DATETIME, i INT);
 | |
| INSERT INTO t1 VALUES (NOW(), 1);
 | |
| SELECT COUNT(i), i, COUNT(i)*i FROM t1 GROUP BY i;
 | |
| COUNT(i)	i	COUNT(i)*i
 | |
| 1	1	1
 | |
| SELECT COUNT(i), (i+0), COUNT(i)*(i+0) FROM t1 GROUP BY i;
 | |
| COUNT(i)	(i+0)	COUNT(i)*(i+0)
 | |
| 1	1	1
 | |
| DROP TABLE t1;
 | |
| create table t1 (
 | |
| num float(5,2),
 | |
| user char(20)
 | |
| );
 | |
| insert into t1 values (10.3,'nem'),(20.53,'monty'),(30.23,'sinisa');
 | |
| insert into t1 values (30.13,'nem'),(20.98,'monty'),(10.45,'sinisa');
 | |
| insert into t1 values (5.2,'nem'),(8.64,'monty'),(11.12,'sinisa');
 | |
| select sum(num) from t1;
 | |
| sum(num)
 | |
| 147.58
 | |
| select sum(num) from t1 group by user;
 | |
| sum(num)
 | |
| 50.15
 | |
| 45.63
 | |
| 51.80
 | |
| drop table t1;
 | |
| create table t1 (a1 int, a2 char(3), key k1(a1), key k2(a2));
 | |
| insert into t1 values(10,'aaa'), (10,null), (10,'bbb'), (20,'zzz');
 | |
| create table t2(a1 char(3), a2 int, a3 real, key k1(a1), key k2(a2, a1));
 | |
| select * from t1;
 | |
| a1	a2
 | |
| 10	aaa
 | |
| 10	NULL
 | |
| 10	bbb
 | |
| 20	zzz
 | |
| select min(a2) from t1;
 | |
| min(a2)
 | |
| aaa
 | |
| select max(t1.a1), max(t2.a2) from t1, t2;
 | |
| max(t1.a1)	max(t2.a2)
 | |
| NULL	NULL
 | |
| select max(t1.a1) from t1, t2;
 | |
| max(t1.a1)
 | |
| NULL
 | |
| select max(t2.a2), max(t1.a1) from t1, t2;
 | |
| max(t2.a2)	max(t1.a1)
 | |
| NULL	NULL
 | |
| explain select min(a2) from t1;
 | |
| id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
 | |
| 1	SIMPLE	NULL	NULL	NULL	NULL	NULL	NULL	NULL	Select tables optimized away
 | |
| explain select max(t1.a1), max(t2.a2) from t1, t2;
 | |
| id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
 | |
| 1	SIMPLE	NULL	NULL	NULL	NULL	NULL	NULL	NULL	No matching min/max row
 | |
| insert into t2 values('AAA', 10, 0.5);
 | |
| insert into t2 values('BBB', 20, 1.0);
 | |
| select t1.a1, t1.a2, t2.a1, t2.a2 from t1,t2;
 | |
| a1	a2	a1	a2
 | |
| 10	aaa	AAA	10
 | |
| 10	NULL	AAA	10
 | |
| 10	bbb	AAA	10
 | |
| 20	zzz	AAA	10
 | |
| 10	aaa	BBB	20
 | |
| 10	NULL	BBB	20
 | |
| 10	bbb	BBB	20
 | |
| 20	zzz	BBB	20
 | |
| select max(t1.a1), max(t2.a1) from t1, t2 where t2.a2=9;
 | |
| max(t1.a1)	max(t2.a1)
 | |
| NULL	NULL
 | |
| select max(t2.a1), max(t1.a1) from t1, t2 where t2.a2=9;
 | |
| max(t2.a1)	max(t1.a1)
 | |
| NULL	NULL
 | |
| select t1.a1, t1.a2, t2.a1, t2.a2 from t1 left outer join t2 on t1.a1=10;
 | |
| a1	a2	a1	a2
 | |
| 10	aaa	AAA	10
 | |
| 10	aaa	BBB	20
 | |
| 10	NULL	AAA	10
 | |
| 10	NULL	BBB	20
 | |
| 10	bbb	AAA	10
 | |
| 10	bbb	BBB	20
 | |
| 20	zzz	NULL	NULL
 | |
| select max(t1.a2) from t1 left outer join t2 on t1.a1=10;
 | |
| max(t1.a2)
 | |
| zzz
 | |
| select max(t2.a1) from t2 left outer join t1 on t2.a2=10 where t2.a2=20;
 | |
| max(t2.a1)
 | |
| BBB
 | |
| select max(t2.a1) from t2 left outer join t1 on t2.a2=10 where t2.a2=10;
 | |
| max(t2.a1)
 | |
| AAA
 | |
| select max(t2.a1) from t1 left outer join t2 on t1.a2=t2.a1 and 1=0 where t2.a1='AAA';
 | |
| max(t2.a1)
 | |
| NULL
 | |
| select max(t1.a2),max(t2.a1) from t1 left outer join t2 on t1.a1=10;
 | |
| max(t1.a2)	max(t2.a1)
 | |
| zzz	BBB
 | |
| drop table t1,t2;
 | |
| create table t1(
 | |
| a1 char(3) primary key,
 | |
| a2 smallint,
 | |
| a3 char(3),
 | |
| a4 real,
 | |
| a5 date,
 | |
| key k1(a2,a3),
 | |
| key k2(a4 desc,a1),
 | |
| key k3(a5,a1)
 | |
| );
 | |
| create table t2(
 | |
| a1 char(3) primary key,
 | |
| a2 char(17),
 | |
| a3 char(2),
 | |
| a4 char(3),
 | |
| key k1(a3, a2),
 | |
| key k2(a4)
 | |
| );
 | |
| insert into t1 values('AME',0,'SEA',0.100,date'1942-02-19');
 | |
| insert into t1 values('HBR',1,'SEA',0.085,date'1948-03-05');
 | |
| insert into t1 values('BOT',2,'SEA',0.085,date'1951-11-29');
 | |
| insert into t1 values('BMC',3,'SEA',0.085,date'1958-09-08');
 | |
| insert into t1 values('TWU',0,'LAX',0.080,date'1969-10-05');
 | |
| insert into t1 values('BDL',0,'DEN',0.080,date'1960-11-27');
 | |
| insert into t1 values('DTX',1,'NYC',0.080,date'1961-05-04');
 | |
| insert into t1 values('PLS',1,'WDC',0.075,date'1949-01-02');
 | |
| insert into t1 values('ZAJ',2,'CHI',0.075,date'1960-06-15');
 | |
| insert into t1 values('VVV',2,'MIN',0.075,date'1959-06-28');
 | |
| insert into t1 values('GTM',3,'DAL',0.070,date'1977-09-23');
 | |
| insert into t1 values('SSJ',null,'CHI',null,date'1974-03-19');
 | |
| insert into t1 values('KKK',3,'ATL',null,null);
 | |
| insert into t1 values('XXX',null,'MIN',null,null);
 | |
| insert into t2 values('TKF','Seattle','WA','AME');
 | |
| insert into t2 values('LCC','Los Angeles','CA','TWU');
 | |
| insert into t2 values('DEN','Denver','CO','BDL');
 | |
| insert into t2 values('SDC','San Diego','CA','TWU');
 | |
| insert into t2 values('NOL','New Orleans','LA','GTM');
 | |
| insert into t2 values('LAK','Los Angeles','CA','TWU');
 | |
| select * from t1;
 | |
| a1	a2	a3	a4	a5
 | |
| AME	0	SEA	0.1	1942-02-19
 | |
| HBR	1	SEA	0.085	1948-03-05
 | |
| BOT	2	SEA	0.085	1951-11-29
 | |
| BMC	3	SEA	0.085	1958-09-08
 | |
| TWU	0	LAX	0.08	1969-10-05
 | |
| BDL	0	DEN	0.08	1960-11-27
 | |
| DTX	1	NYC	0.08	1961-05-04
 | |
| PLS	1	WDC	0.075	1949-01-02
 | |
| ZAJ	2	CHI	0.075	1960-06-15
 | |
| VVV	2	MIN	0.075	1959-06-28
 | |
| GTM	3	DAL	0.07	1977-09-23
 | |
| SSJ	NULL	CHI	NULL	1974-03-19
 | |
| KKK	3	ATL	NULL	NULL
 | |
| XXX	NULL	MIN	NULL	NULL
 | |
| select * from t2;
 | |
| a1	a2	a3	a4
 | |
| TKF	Seattle	WA	AME
 | |
| LCC	Los Angeles	CA	TWU
 | |
| DEN	Denver	CO	BDL
 | |
| SDC	San Diego	CA	TWU
 | |
| NOL	New Orleans	LA	GTM
 | |
| LAK	Los Angeles	CA	TWU
 | |
| explain 
 | |
| select min(a1) from t1;
 | |
| id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
 | |
| 1	SIMPLE	NULL	NULL	NULL	NULL	NULL	NULL	NULL	Select tables optimized away
 | |
| select min(a1) from t1;
 | |
| min(a1)
 | |
| AME
 | |
| explain 
 | |
| select max(a4) from t1;
 | |
| id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
 | |
| 1	SIMPLE	NULL	NULL	NULL	NULL	NULL	NULL	NULL	Select tables optimized away
 | |
| select max(a4) from t1;
 | |
| max(a4)
 | |
| 0.1
 | |
| explain 
 | |
| select min(a5), max(a5) from t1;
 | |
| id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
 | |
| 1	SIMPLE	NULL	NULL	NULL	NULL	NULL	NULL	NULL	Select tables optimized away
 | |
| select min(a5), max(a5) from t1;
 | |
| min(a5)	max(a5)
 | |
| 1942-02-19	1977-09-23
 | |
| explain 
 | |
| select min(a3) from t1 where a2 = 2;
 | |
| id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
 | |
| 1	SIMPLE	NULL	NULL	NULL	NULL	NULL	NULL	NULL	Select tables optimized away
 | |
| select min(a3) from t1 where a2 = 2;
 | |
| min(a3)
 | |
| CHI
 | |
| explain 
 | |
| select min(a1), max(a1) from t1 where a4 = 0.080;
 | |
| id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
 | |
| 1	SIMPLE	NULL	NULL	NULL	NULL	NULL	NULL	NULL	Select tables optimized away
 | |
| select min(a1), max(a1) from t1 where a4 = 0.080;
 | |
| min(a1)	max(a1)
 | |
| BDL	TWU
 | |
| explain 
 | |
| select min(t1.a5), max(t2.a3) from t1, t2;
 | |
| id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
 | |
| 1	SIMPLE	NULL	NULL	NULL	NULL	NULL	NULL	NULL	Select tables optimized away
 | |
| select min(t1.a5), max(t2.a3) from t1, t2;
 | |
| min(t1.a5)	max(t2.a3)
 | |
| 1942-02-19	WA
 | |
| explain 
 | |
| select min(t1.a3), max(t2.a2) from t1, t2 where t1.a2 = 0 and t2.a3 = 'CA';
 | |
| id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
 | |
| 1	SIMPLE	NULL	NULL	NULL	NULL	NULL	NULL	NULL	Select tables optimized away
 | |
| select min(t1.a3), max(t2.a2) from t1, t2 where t1.a2 = 0 and t2.a3 = 'CA';
 | |
| min(t1.a3)	max(t2.a2)
 | |
| DEN	San Diego
 | |
| explain 
 | |
| select min(a1) from t1 where a1 > 'KKK';
 | |
| id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
 | |
| 1	SIMPLE	NULL	NULL	NULL	NULL	NULL	NULL	NULL	Select tables optimized away
 | |
| select min(a1) from t1 where a1 > 'KKK';
 | |
| min(a1)
 | |
| PLS
 | |
| explain 
 | |
| select min(a1) from t1 where a1 >= 'KKK';
 | |
| id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
 | |
| 1	SIMPLE	NULL	NULL	NULL	NULL	NULL	NULL	NULL	Select tables optimized away
 | |
| select min(a1) from t1 where a1 >= 'KKK';
 | |
| min(a1)
 | |
| KKK
 | |
| explain 
 | |
| select max(a3) from t1 where a2 = 2 and a3 < 'SEA';
 | |
| id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
 | |
| 1	SIMPLE	NULL	NULL	NULL	NULL	NULL	NULL	NULL	Select tables optimized away
 | |
| select max(a3) from t1 where a2 = 2 and a3 < 'SEA';
 | |
| max(a3)
 | |
| MIN
 | |
| explain 
 | |
| select max(a5) from t1 where a5 < date'1970-01-01';
 | |
| id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
 | |
| 1	SIMPLE	NULL	NULL	NULL	NULL	NULL	NULL	NULL	Select tables optimized away
 | |
| select max(a5) from t1 where a5 < date'1970-01-01';
 | |
| max(a5)
 | |
| 1969-10-05
 | |
| explain 
 | |
| select max(a3) from t1 where a2 is null;
 | |
| id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
 | |
| 1	SIMPLE	NULL	NULL	NULL	NULL	NULL	NULL	NULL	Select tables optimized away
 | |
| select max(a3) from t1 where a2 is null;
 | |
| max(a3)
 | |
| MIN
 | |
| explain 
 | |
| select max(a3) from t1 where a2 = 0 and a3 between 'K' and 'Q';
 | |
| id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
 | |
| 1	SIMPLE	NULL	NULL	NULL	NULL	NULL	NULL	NULL	Select tables optimized away
 | |
| select max(a3) from t1 where a2 = 0 and a3 between 'K' and 'Q';
 | |
| max(a3)
 | |
| LAX
 | |
| explain
 | |
| select min(a1), max(a1) from t1 where a1 between 'A' and 'P';
 | |
| id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
 | |
| 1	SIMPLE	NULL	NULL	NULL	NULL	NULL	NULL	NULL	Select tables optimized away
 | |
| select min(a1), max(a1) from t1 where a1 between 'A' and 'P';
 | |
| min(a1)	max(a1)
 | |
| AME	KKK
 | |
| explain 
 | |
| select max(a3) from t1 where a3 < 'SEA' and a2 = 2 and a3 <= 'MIN';
 | |
| id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
 | |
| 1	SIMPLE	NULL	NULL	NULL	NULL	NULL	NULL	NULL	Select tables optimized away
 | |
| select max(a3) from t1 where a3 < 'SEA' and a2 = 2 and a3 <= 'MIN';
 | |
| max(a3)
 | |
| MIN
 | |
| explain 
 | |
| select max(a3) from t1 where a3 = 'MIN' and a2 = 2;
 | |
| id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
 | |
| 1	SIMPLE	NULL	NULL	NULL	NULL	NULL	NULL	NULL	Select tables optimized away
 | |
| select max(a3) from t1 where a3 = 'MIN' and a2 = 2;
 | |
| max(a3)
 | |
| MIN
 | |
| explain 
 | |
| select max(a3) from t1 where a3 = 'DEN' and a2 = 2;
 | |
| id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
 | |
| 1	SIMPLE	NULL	NULL	NULL	NULL	NULL	NULL	NULL	No matching min/max row
 | |
| select max(a3) from t1 where a3 = 'DEN' and a2 = 2;
 | |
| max(a3)
 | |
| NULL
 | |
| explain
 | |
| select max(t1.a3), min(t2.a2) from t1, t2 where t1.a2 = 2 and t1.a3 < 'MIN' and t2.a3 = 'CA';
 | |
| id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
 | |
| 1	SIMPLE	NULL	NULL	NULL	NULL	NULL	NULL	NULL	Select tables optimized away
 | |
| select max(t1.a3), min(t2.a2) from t1, t2 where t1.a2 = 2 and t1.a3 < 'MIN' and t2.a3 = 'CA';
 | |
| max(t1.a3)	min(t2.a2)
 | |
| CHI	Los Angeles
 | |
| explain
 | |
| select max(a3) from t1 where a2 is null and a2 = 2;
 | |
| id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
 | |
| 1	SIMPLE	NULL	NULL	NULL	NULL	NULL	NULL	NULL	Impossible WHERE noticed after reading const tables
 | |
| select max(a3) from t1 where a2 is null and a2 = 2;
 | |
| max(a3)
 | |
| NULL
 | |
| explain
 | |
| select max(a2) from t1 where a2 >= 1;
 | |
| id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
 | |
| 1	SIMPLE	NULL	NULL	NULL	NULL	NULL	NULL	NULL	Select tables optimized away
 | |
| select max(a2) from t1 where a2 >= 1;
 | |
| max(a2)
 | |
| 3
 | |
| explain
 | |
| select min(a3) from t1 where a2 = 2 and a3 < 'SEA';
 | |
| id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
 | |
| 1	SIMPLE	NULL	NULL	NULL	NULL	NULL	NULL	NULL	Select tables optimized away
 | |
| select min(a3) from t1 where a2 = 2 and a3 < 'SEA';
 | |
| min(a3)
 | |
| CHI
 | |
| explain
 | |
| select min(a3) from t1 where a2 = 4;
 | |
| id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
 | |
| 1	SIMPLE	NULL	NULL	NULL	NULL	NULL	NULL	NULL	No matching min/max row
 | |
| select min(a3) from t1 where a2 = 4;
 | |
| min(a3)
 | |
| NULL
 | |
| explain
 | |
| select min(a3) from t1 where a2 = 2 and a3 > 'SEA';
 | |
| id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
 | |
| 1	SIMPLE	NULL	NULL	NULL	NULL	NULL	NULL	NULL	No matching min/max row
 | |
| select min(a3) from t1 where a2 = 2 and a3 > 'SEA';
 | |
| min(a3)
 | |
| NULL
 | |
| explain
 | |
| select (min(a4)+max(a4))/2 from t1;
 | |
| id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
 | |
| 1	SIMPLE	NULL	NULL	NULL	NULL	NULL	NULL	NULL	Select tables optimized away
 | |
| select (min(a4)+max(a4))/2 from t1;
 | |
| (min(a4)+max(a4))/2
 | |
| 0.085
 | |
| explain
 | |
| select min(a3) from t1 where 2 = a2;
 | |
| id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
 | |
| 1	SIMPLE	NULL	NULL	NULL	NULL	NULL	NULL	NULL	Select tables optimized away
 | |
| select min(a3) from t1 where 2 = a2;
 | |
| min(a3)
 | |
| CHI
 | |
| explain
 | |
| select max(a3) from t1 where a2 = 2 and 'SEA' > a3;
 | |
| id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
 | |
| 1	SIMPLE	NULL	NULL	NULL	NULL	NULL	NULL	NULL	Select tables optimized away
 | |
| select max(a3) from t1 where a2 = 2 and 'SEA' > a3;
 | |
| max(a3)
 | |
| MIN
 | |
| explain
 | |
| select max(a3) from t1 where a2 = 2 and 'SEA' < a3;
 | |
| id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
 | |
| 1	SIMPLE	NULL	NULL	NULL	NULL	NULL	NULL	NULL	No matching min/max row
 | |
| select max(a3) from t1 where a2 = 2 and 'SEA' < a3;
 | |
| max(a3)
 | |
| NULL
 | |
| explain
 | |
| select min(a3) from t1 where a2 = 2 and a3 >= 'CHI';
 | |
| id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
 | |
| 1	SIMPLE	NULL	NULL	NULL	NULL	NULL	NULL	NULL	Select tables optimized away
 | |
| select min(a3) from t1 where a2 = 2 and a3 >= 'CHI';
 | |
| min(a3)
 | |
| CHI
 | |
| explain
 | |
| select min(a3) from t1 where a2 = 2 and a3 >= 'CHI' and a3 < 'SEA';
 | |
| id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
 | |
| 1	SIMPLE	NULL	NULL	NULL	NULL	NULL	NULL	NULL	Select tables optimized away
 | |
| select min(a3) from t1 where a2 = 2 and a3 >= 'CHI' and a3 < 'SEA';
 | |
| min(a3)
 | |
| CHI
 | |
| explain
 | |
| select min(a3) from t1 where a2 = 2 and a3 >= 'CHI' and a3 = 'MIN';
 | |
| id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
 | |
| 1	SIMPLE	NULL	NULL	NULL	NULL	NULL	NULL	NULL	Select tables optimized away
 | |
| select min(a3) from t1 where a2 = 2 and a3 >= 'CHI' and a3 = 'MIN';
 | |
| min(a3)
 | |
| MIN
 | |
| explain
 | |
| select min(a3) from t1 where a2 = 2 and a3 >= 'SEA' and a3 = 'MIN';
 | |
| id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
 | |
| 1	SIMPLE	NULL	NULL	NULL	NULL	NULL	NULL	NULL	Impossible WHERE
 | |
| select min(a3) from t1 where a2 = 2 and a3 >= 'SEA' and a3 = 'MIN';
 | |
| min(a3)
 | |
| NULL
 | |
| explain
 | |
| select min(t1.a1), min(t2.a4) from t1,t2 where t1.a1 < 'KKK' and t2.a4 < 'KKK';
 | |
| id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
 | |
| 1	SIMPLE	NULL	NULL	NULL	NULL	NULL	NULL	NULL	Select tables optimized away
 | |
| select min(t1.a1), min(t2.a4) from t1,t2 where t1.a1 < 'KKK' and t2.a4 < 'KKK';
 | |
| min(t1.a1)	min(t2.a4)
 | |
| AME	AME
 | |
| explain 
 | |
| select min(a1) from t1 where a1 > 'KKK' or a1 < 'XXX';
 | |
| id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
 | |
| 1	SIMPLE	t1	range	PRIMARY	PRIMARY	0	NULL	15	Using where; Using index
 | |
| explain 
 | |
| select min(a1) from t1 where a1 != 'KKK';
 | |
| id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
 | |
| 1	SIMPLE	t1	index	NULL	PRIMARY	3	NULL	14	Using where; Using index
 | |
| explain
 | |
| select max(a3) from t1 where a2 < 2 and a3 < 'SEA';
 | |
| id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
 | |
| 1	SIMPLE	t1	range	k1	k1	3	NULL	5	Using where; Using index
 | |
| explain
 | |
| select max(t1.a3), min(t2.a2) from t1, t2 where t1.a2 = 2 and t1.a3 < 'MIN' and t2.a3 > 'CA';
 | |
| id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
 | |
| 1	SIMPLE	t1	range	k1	k1	7	NULL	1	Using where; Using index
 | |
| 1	SIMPLE	t2	range	k1	k1	3	NULL	4	Using where; Using index
 | |
| explain
 | |
| select min(a4 - 0.01) from t1;
 | |
| id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
 | |
| 1	SIMPLE	t1	index	NULL	k2	12	NULL	14	Using index
 | |
| explain
 | |
| select max(a4 + 0.01) from t1;
 | |
| id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
 | |
| 1	SIMPLE	t1	index	NULL	k2	12	NULL	14	Using index
 | |
| explain
 | |
| select min(a3) from t1 where (a2 +1 ) is null;
 | |
| id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
 | |
| 1	SIMPLE	t1	index	NULL	k1	7	NULL	14	Using where; Using index
 | |
| explain
 | |
| select min(a3) from t1 where (a2 + 1) = 2;
 | |
| id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
 | |
| 1	SIMPLE	t1	index	NULL	k1	7	NULL	14	Using where; Using index
 | |
| explain
 | |
| select min(a3) from t1 where 2 = (a2 + 1);
 | |
| id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
 | |
| 1	SIMPLE	t1	index	NULL	k1	7	NULL	14	Using where; Using index
 | |
| explain
 | |
| select min(a2) from t1 where a2 < 2 * a2 - 8;
 | |
| id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
 | |
| 1	SIMPLE	t1	index	NULL	k1	7	NULL	14	Using where; Using index
 | |
| explain
 | |
| select min(a1) from t1  where a1 between a3 and 'KKK';
 | |
| id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
 | |
| 1	SIMPLE	t1	ALL	NULL	NULL	NULL	NULL	14	Using where
 | |
| explain
 | |
| select min(a4) from t1  where (a4 + 0.01) between 0.07 and 0.08;
 | |
| id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
 | |
| 1	SIMPLE	t1	index	NULL	k2	12	NULL	14	Using where; Using index
 | |
| explain
 | |
| select concat(min(t1.a1),min(t2.a4)) from t1, t2 where t2.a4 <> 'AME';
 | |
| id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
 | |
| 1	SIMPLE	t1	index	NULL	PRIMARY	3	NULL	14	Using index
 | |
| 1	SIMPLE	t2	index	NULL	k2	4	NULL	6	Using where; Using index
 | |
| drop table t1, t2;
 | |
| CREATE TABLE t1 (a int, b int);
 | |
| select count(b), sum(b), avg(b), std(b), min(b), max(b), bit_and(b), bit_or(b) from t1;
 | |
| count(b)	sum(b)	avg(b)	std(b)	min(b)	max(b)	bit_and(b)	bit_or(b)
 | |
| 0	NULL	NULL	NULL	NULL	NULL	18446744073709551615	0
 | |
| select a,count(b), sum(b), avg(b), std(b), min(b), max(b), bit_and(b), bit_or(b) from t1 group by a;
 | |
| a	count(b)	sum(b)	avg(b)	std(b)	min(b)	max(b)	bit_and(b)	bit_or(b)
 | |
| insert into t1 values (1,null);
 | |
| select a,count(b), sum(b), avg(b), std(b), min(b), max(b), bit_and(b), bit_or(b) from t1 group by a;
 | |
| a	count(b)	sum(b)	avg(b)	std(b)	min(b)	max(b)	bit_and(b)	bit_or(b)
 | |
| 1	0	NULL	NULL	NULL	NULL	NULL	18446744073709551615	0
 | |
| insert into t1 values (1,null);
 | |
| insert into t1 values (2,null);
 | |
| select a,count(b), sum(b), avg(b), std(b), min(b), max(b), bit_and(b), bit_or(b) from t1 group by a;
 | |
| a	count(b)	sum(b)	avg(b)	std(b)	min(b)	max(b)	bit_and(b)	bit_or(b)
 | |
| 1	0	NULL	NULL	NULL	NULL	NULL	0	0
 | |
| 2	0	NULL	NULL	NULL	NULL	NULL	0	0
 | |
| select SQL_BIG_RESULT a,count(b), sum(b), avg(b), std(b), min(b), max(b), bit_and(b), bit_or(b) from t1 group by a;
 | |
| a	count(b)	sum(b)	avg(b)	std(b)	min(b)	max(b)	bit_and(b)	bit_or(b)
 | |
| 1	0	NULL	NULL	NULL	NULL	NULL	18446744073709551615	0
 | |
| 2	0	NULL	NULL	NULL	NULL	NULL	18446744073709551615	0
 | |
| insert into t1 values (2,1);
 | |
| select a,count(b), sum(b), avg(b), std(b), min(b), max(b), bit_and(b), bit_or(b) from t1 group by a;
 | |
| a	count(b)	sum(b)	avg(b)	std(b)	min(b)	max(b)	bit_and(b)	bit_or(b)
 | |
| 1	0	NULL	NULL	NULL	NULL	NULL	0	0
 | |
| 2	1	1	1.0000	0.0000	1	1	0	1
 | |
| select SQL_BIG_RESULT a,count(b), sum(b), avg(b), std(b), min(b), max(b), bit_and(b), bit_or(b) from t1 group by a;
 | |
| a	count(b)	sum(b)	avg(b)	std(b)	min(b)	max(b)	bit_and(b)	bit_or(b)
 | |
| 1	0	NULL	NULL	NULL	NULL	NULL	18446744073709551615	0
 | |
| 2	1	1	1.0000	0.0000	1	1	1	1
 | |
| insert into t1 values (3,1);
 | |
| select a,count(b), sum(b), avg(b), std(b), min(b), max(b), bit_and(b), bit_or(b) from t1 group by a;
 | |
| a	count(b)	sum(b)	avg(b)	std(b)	min(b)	max(b)	bit_and(b)	bit_or(b)
 | |
| 1	0	NULL	NULL	NULL	NULL	NULL	0	0
 | |
| 2	1	1	1.0000	0.0000	1	1	0	1
 | |
| 3	1	1	1.0000	0.0000	1	1	1	1
 | |
| select SQL_BIG_RESULT a,count(b), sum(b), avg(b), std(b), min(b), max(b), bit_and(b), bit_or(b) from t1 group by a;
 | |
| a	count(b)	sum(b)	avg(b)	std(b)	min(b)	max(b)	bit_and(b)	bit_or(b)
 | |
| 1	0	NULL	NULL	NULL	NULL	NULL	18446744073709551615	0
 | |
| 2	1	1	1.0000	0.0000	1	1	1	1
 | |
| 3	1	1	1.0000	0.0000	1	1	1	1
 | |
| drop table t1;
 | |
| create table t1 (USR_ID integer not null, MAX_REQ integer not null, constraint PK_SEA_USER primary key (USR_ID)) type=InnoDB;
 | |
| insert into t1 values (1, 3);
 | |
| select count(*) + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ from t1 group by MAX_REQ;
 | |
| count(*) + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ
 | |
| 1
 | |
| select Case When Count(*) < MAX_REQ Then 1 Else 0 End from t1 where t1.USR_ID = 1 group by MAX_REQ;
 | |
| Case When Count(*) < MAX_REQ Then 1 Else 0 End
 | |
| 1
 | |
| drop table t1;
 | |
| create table t1 (a char(10));
 | |
| insert into t1 values ('a'),('b'),('c');
 | |
| select coercibility(max(a)) from t1;
 | |
| coercibility(max(a))
 | |
| 3
 | |
| drop table t1;
 |