mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-31 15:50:51 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			956 lines
		
	
	
		
			31 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			956 lines
		
	
	
		
			31 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| drop table if exists t1,t2;
 | |
| set @sav_dpi= @@div_precision_increment;
 | |
| set div_precision_increment= 5;
 | |
| show variables like 'div_precision_increment';
 | |
| Variable_name	Value
 | |
| div_precision_increment	5
 | |
| 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.50000	1.70783	2.91667	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	18446744073709551615	NULL	NULL		
 | |
| 1	1	1	1.00000	0.00000	0.00000	1	1	1	1	a	a
 | |
| 2	5	2	2.50000	0.50000	0.25000	3	2	2	3	b	c
 | |
| 3	15	3	5.00000	0.81650	0.66667	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.0000000	0.816497	0.666667
 | |
| 2	11.0000000	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.0000000	0.816497	0.666667
 | |
| Set Two	11.0000000	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.00000
 | |
| 2	NULL
 | |
| 3	2.00000
 | |
| select sql_small_result t2.id, avg(rating) from t2 group by t2.id;
 | |
| id	avg(rating)
 | |
| 1	3.00000
 | |
| 2	NULL
 | |
| 3	2.00000
 | |
| select sql_big_result t2.id, avg(rating) from t2 group by t2.id;
 | |
| id	avg(rating)
 | |
| 1	3.00000
 | |
| 2	NULL
 | |
| 3	2.00000
 | |
| select sql_small_result t2.id, avg(rating+0.0e0) from t2 group by t2.id;
 | |
| id	avg(rating+0.0e0)
 | |
| 1	3
 | |
| 2	NULL
 | |
| 3	2
 | |
| select sql_big_result t2.id, avg(rating+0.0e0) from t2 group by t2.id;
 | |
| id	avg(rating+0.0e0)
 | |
| 1	3
 | |
| 2	NULL
 | |
| 3	2
 | |
| 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	aaa	BBB	20
 | |
| 10	NULL	AAA	10
 | |
| 10	NULL	BBB	20
 | |
| 10	bbb	AAA	10
 | |
| 10	bbb	BBB	20
 | |
| 20	zzz	AAA	10
 | |
| 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 (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	18446744073709551615	0
 | |
| 2	0	NULL	NULL	NULL	NULL	NULL	18446744073709551615	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	18446744073709551615	0
 | |
| 2	1	1	1.00000	0.00000	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.00000	0.00000	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	18446744073709551615	0
 | |
| 2	1	1	1.00000	0.00000	1	1	1	1
 | |
| 3	1	1	1.00000	0.00000	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), bit_xor(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)	bit_xor(b)
 | |
| 1	0	NULL	NULL	NULL	NULL	NULL	18446744073709551615	0	0
 | |
| 2	1	1	1.00000	0.00000	1	1	1	1	1
 | |
| 3	1	1	1.00000	0.00000	1	1	1	1	1
 | |
| explain extended select SQL_BIG_RESULT a,count(b), sum(b), avg(b), std(b), min(b), max(b), bit_and(b), bit_or(b), bit_xor(b) from t1 group by a;
 | |
| id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
 | |
| 1	SIMPLE	t1	ALL	NULL	NULL	NULL	NULL	5	Using filesort
 | |
| Warnings:
 | |
| Note	1003	select sql_big_result `test`.`t1`.`a` AS `a`,count(`test`.`t1`.`b`) AS `count(b)`,sum(`test`.`t1`.`b`) AS `sum(b)`,avg(`test`.`t1`.`b`) AS `avg(b)`,std(`test`.`t1`.`b`) AS `std(b)`,min(`test`.`t1`.`b`) AS `min(b)`,max(`test`.`t1`.`b`) AS `max(b)`,bit_and(`test`.`t1`.`b`) AS `bit_and(b)`,bit_or(`test`.`t1`.`b`) AS `bit_or(b)`,bit_xor(`test`.`t1`.`b`) AS `bit_xor(b)` from `test`.`t1` group by `test`.`t1`.`a`
 | |
| drop table t1;
 | |
| create table t1 (col int);
 | |
| insert into t1 values (-1), (-2), (-3);
 | |
| select bit_and(col), bit_or(col) from t1;
 | |
| bit_and(col)	bit_or(col)
 | |
| 18446744073709551612	18446744073709551615
 | |
| select SQL_BIG_RESULT bit_and(col), bit_or(col) from t1 group by col;
 | |
| bit_and(col)	bit_or(col)
 | |
| 18446744073709551613	18446744073709551613
 | |
| 18446744073709551614	18446744073709551614
 | |
| 18446744073709551615	18446744073709551615
 | |
| drop table t1;
 | |
| create table t1 (a int);
 | |
| select avg(2) from t1;
 | |
| avg(2)
 | |
| NULL
 | |
| drop table t1;
 | |
| 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 t1 values('WWW',1,'LED',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');
 | |
| insert into t2 values('AAA','AAA','AA','AME');
 | |
| 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
 | |
| WWW	1	LED	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
 | |
| AAA	AAA	AA	AME
 | |
| 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
 | |
| 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	index	PRIMARY	PRIMARY	3	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	PRIMARY	PRIMARY	3	NULL	15	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	6	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	15	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	15	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	15	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	15	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	15	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	15	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	PRIMARY	NULL	NULL	NULL	15	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	15	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	t2	range	k2	k2	4	NULL	6	Using where; Using index
 | |
| 1	SIMPLE	t1	index	NULL	PRIMARY	3	NULL	15	Using index
 | |
| drop table t1, t2;
 | |
| create table t1 (USR_ID integer not null, MAX_REQ integer not null, constraint PK_SEA_USER primary key (USR_ID)) engine=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))
 | |
| 2
 | |
| drop table t1;
 | |
| create table t1 (a char character set latin2);
 | |
| insert into t1 values ('a'),('b');
 | |
| select charset(max(a)), coercibility(max(a)),
 | |
| charset(min(a)), coercibility(min(a)) from t1;
 | |
| charset(max(a))	coercibility(max(a))	charset(min(a))	coercibility(min(a))
 | |
| latin2	2	latin2	2
 | |
| show create table t1;
 | |
| Table	Create Table
 | |
| t1	CREATE TABLE `t1` (
 | |
|   `a` char(1) character set latin2 default NULL
 | |
| ) ENGINE=MyISAM DEFAULT CHARSET=latin1
 | |
| create table t2 select max(a),min(a) from t1;
 | |
| show create table t2;
 | |
| Table	Create Table
 | |
| t2	CREATE TABLE `t2` (
 | |
|   `max(a)` char(1) character set latin2 default NULL,
 | |
|   `min(a)` char(1) character set latin2 default NULL
 | |
| ) ENGINE=MyISAM DEFAULT CHARSET=latin1
 | |
| drop table t2;
 | |
| create table t2 select concat(a) from t1;
 | |
| show create table t2;
 | |
| Table	Create Table
 | |
| t2	CREATE TABLE `t2` (
 | |
|   `concat(a)` varchar(1) character set latin2 default NULL
 | |
| ) ENGINE=MyISAM DEFAULT CHARSET=latin1
 | |
| drop table t2,t1;
 | |
| create table t1 (a int);
 | |
| insert into t1 values (1);
 | |
| select max(a) as b from t1 having b=1;
 | |
| b
 | |
| 1
 | |
| select a from t1 having a=1;
 | |
| a
 | |
| 1
 | |
| drop table t1;
 | |
| create table t1 (a int);
 | |
| select variance(2) from t1;
 | |
| variance(2)
 | |
| NULL
 | |
| select stddev(2) from t1;
 | |
| stddev(2)
 | |
| NULL
 | |
| drop table t1;
 | |
| create table t1 (a int);
 | |
| insert into t1 values (1),(2);
 | |
| prepare stmt1 from 'SELECT COUNT(*) FROM t1';
 | |
| execute stmt1;
 | |
| COUNT(*)
 | |
| 2
 | |
| execute stmt1;
 | |
| COUNT(*)
 | |
| 2
 | |
| execute stmt1;
 | |
| COUNT(*)
 | |
| 2
 | |
| deallocate prepare stmt1;
 | |
| drop table t1;
 | |
| create table t1 (a int, primary key(a));
 | |
| insert into t1 values (1),(2);
 | |
| prepare stmt1 from 'SELECT max(a) FROM t1';
 | |
| execute stmt1;
 | |
| max(a)
 | |
| 2
 | |
| execute stmt1;
 | |
| max(a)
 | |
| 2
 | |
| execute stmt1;
 | |
| max(a)
 | |
| 2
 | |
| deallocate prepare stmt1;
 | |
| drop table t1;
 | |
| CREATE TABLE t1 (a int primary key);
 | |
| INSERT INTO t1 VALUES (1),(2),(3),(4);
 | |
| SELECT MAX(a) FROM t1 WHERE a > 5;
 | |
| MAX(a)
 | |
| NULL
 | |
| SELECT MIN(a) FROM t1 WHERE a < 0;
 | |
| MIN(a)
 | |
| NULL
 | |
| DROP TABLE t1;
 | |
| CREATE TABLE t1 (
 | |
| id int(10) unsigned NOT NULL auto_increment,
 | |
| val enum('one','two','three') NOT NULL default 'one',
 | |
| PRIMARY KEY  (id)
 | |
| ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
 | |
| INSERT INTO t1 VALUES
 | |
| (1,'one'),(2,'two'),(3,'three'),(4,'one'),(5,'two');
 | |
| select val, count(*) from t1 group by val;
 | |
| val	count(*)
 | |
| one	2
 | |
| two	2
 | |
| three	1
 | |
| drop table t1;
 | |
| CREATE TABLE t1 (
 | |
| id int(10) unsigned NOT NULL auto_increment,
 | |
| val set('one','two','three') NOT NULL default 'one',
 | |
| PRIMARY KEY  (id)
 | |
| ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
 | |
| INSERT INTO t1 VALUES
 | |
| (1,'one'),(2,'two'),(3,'three'),(4,'one'),(5,'two');
 | |
| select val, count(*) from t1 group by val;
 | |
| val	count(*)
 | |
| one	2
 | |
| two	2
 | |
| three	1
 | |
| drop table t1;
 | |
| create table t1(a int, b datetime);
 | |
| insert into t1 values (1, NOW()), (2, NOW());
 | |
| create table t2 select MAX(b) from t1 group by a;
 | |
| show create table t2;
 | |
| Table	Create Table
 | |
| t2	CREATE TABLE `t2` (
 | |
|   `MAX(b)` datetime default NULL
 | |
| ) ENGINE=MyISAM DEFAULT CHARSET=latin1
 | |
| drop table t1, t2;
 | |
| create table t1(f1 datetime);
 | |
| insert into t1 values (now());
 | |
| create table t2 select f2 from (select max(now()) f2 from t1) a;
 | |
| show columns from t2;
 | |
| Field	Type	Null	Key	Default	Extra
 | |
| f2	datetime	YES		NULL	
 | |
| drop table t2;
 | |
| create table t2 select f2 from (select now() f2 from t1) a;
 | |
| show columns from t2;
 | |
| Field	Type	Null	Key	Default	Extra
 | |
| f2	datetime	NO		0000-00-00 00:00:00	
 | |
| drop table t2, t1;
 | |
| create table t2 (ff double);
 | |
| insert into t2 values (2.2);
 | |
| select cast(sum(distinct ff) as decimal(5,2)) from t2;
 | |
| cast(sum(distinct ff) as decimal(5,2))
 | |
| 2.20
 | |
| select cast(sum(distinct ff) as signed) from t2;
 | |
| cast(sum(distinct ff) as signed)
 | |
| 2
 | |
| select cast(variance(ff) as decimal(10,3)) from t2;
 | |
| cast(variance(ff) as decimal(10,3))
 | |
| 0.000
 | |
| select cast(min(ff) as decimal(5,2)) from t2;
 | |
| cast(min(ff) as decimal(5,2))
 | |
| 2.20
 | |
| create table t1 (df decimal(5,1));
 | |
| insert into t1 values(1.1);
 | |
| insert into t1 values(2.2);
 | |
| select cast(sum(distinct df) as signed) from t1;
 | |
| cast(sum(distinct df) as signed)
 | |
| 3
 | |
| select cast(min(df) as signed) from t1;
 | |
| cast(min(df) as signed)
 | |
| 0
 | |
| select 1e8 * sum(distinct df) from t1;
 | |
| 1e8 * sum(distinct df)
 | |
| 330000000
 | |
| select 1e8 * min(df) from t1;
 | |
| 1e8 * min(df)
 | |
| 110000000
 | |
| create table t3 (ifl int);
 | |
| insert into t3 values(1), (2);
 | |
| select cast(min(ifl) as decimal(5,2)) from t3;
 | |
| cast(min(ifl) as decimal(5,2))
 | |
| 1.00
 | |
| drop table t1, t2, t3;
 | |
| 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), (2,13.00);
 | |
| select id, stddev_pop(value1), var_pop(value1), stddev_samp(value1), var_samp(value1) from t1 group by id;
 | |
| id	stddev_pop(value1)	var_pop(value1)	stddev_samp(value1)	var_samp(value1)
 | |
| 1	0.816497	0.666667	1.000000	1.000000
 | |
| 2	1.118034	1.250000	1.290994	1.666667
 | |
| DROP TABLE t1;
 | |
| CREATE TABLE t1 (col1 decimal(16,12));
 | |
| INSERT INTO t1 VALUES (-5.00000000001),(-5.00000000002),(-5.00000000003),(-5.00000000000),(-5.00000000001),(-5.00000000002);
 | |
| insert into t1 select * from t1;
 | |
| select col1,count(col1),sum(col1),avg(col1) from t1 group by col1;
 | |
| col1	count(col1)	sum(col1)	avg(col1)
 | |
| -5.000000000030	2	-10.000000000060	-5.00000000003000000
 | |
| -5.000000000020	4	-20.000000000080	-5.00000000002000000
 | |
| -5.000000000010	4	-20.000000000040	-5.00000000001000000
 | |
| -5.000000000000	2	-10.000000000000	-5.00000000000000000
 | |
| DROP TABLE t1;
 | |
| create table t1 (col1 decimal(16,12));
 | |
| insert into t1 values (-5.00000000001);
 | |
| insert into t1 values (-5.00000000001);
 | |
| select col1,sum(col1),max(col1),min(col1) from t1 group by col1;
 | |
| col1	sum(col1)	max(col1)	min(col1)
 | |
| -5.000000000010	-10.000000000020	-5.000000000010	-5.000000000010
 | |
| delete from t1;
 | |
| insert into t1 values (5.00000000001);
 | |
| insert into t1 values (5.00000000001);
 | |
| select col1,sum(col1),max(col1),min(col1) from t1 group by col1;
 | |
| col1	sum(col1)	max(col1)	min(col1)
 | |
| 5.000000000010	10.000000000020	5.000000000010	5.000000000010
 | |
| DROP TABLE t1;
 | |
| CREATE TABLE t1(
 | |
| id int PRIMARY KEY,
 | |
| a  int,
 | |
| b  int,
 | |
| INDEX i_b_id(a,b,id),
 | |
| INDEX i_id(a,id)
 | |
| );
 | |
| INSERT INTO t1 VALUES 
 | |
| (1,1,4), (2,2,1), (3,1,3), (4,2,1), (5,1,1);
 | |
| SELECT MAX(id) FROM t1 WHERE id < 3 AND a=2 AND b=6;
 | |
| MAX(id)
 | |
| NULL
 | |
| DROP TABLE t1;
 | |
| CREATE TABLE t1(
 | |
| id int PRIMARY KEY,
 | |
| a  int,
 | |
| b  int,
 | |
| INDEX i_id(a,id),
 | |
| INDEX i_b_id(a,b,id)
 | |
| );
 | |
| INSERT INTO t1 VALUES 
 | |
| (1,1,4), (2,2,1), (3,1,3), (4,2,1), (5,1,1);
 | |
| SELECT MAX(id) FROM t1 WHERE id < 3 AND a=2 AND b=6;
 | |
| MAX(id)
 | |
| NULL
 | |
| DROP TABLE t1;
 | |
| CREATE TABLE t1 (a VARCHAR(400));
 | |
| INSERT INTO t1 (a) VALUES ("A"), ("a"), ("a "), ("a   "),
 | |
| ("B"), ("b"), ("b "), ("b   ");
 | |
| SELECT COUNT(DISTINCT a) FROM t1;
 | |
| COUNT(DISTINCT a)
 | |
| 2
 | |
| DROP TABLE t1;
 | |
| CREATE TABLE t1 (a int, b int, c int);
 | |
| INSERT INTO t1 (a, b, c) VALUES
 | |
| (1,1,1), (1,1,2), (1,1,3),
 | |
| (1,2,1), (1,2,2), (1,2,3),
 | |
| (1,3,1), (1,3,2), (1,3,3),
 | |
| (2,1,1), (2,1,2), (2,1,3),
 | |
| (2,2,1), (2,2,2), (2,2,3),
 | |
| (2,3,1), (2,3,2), (2,3,3),
 | |
| (3,1,1), (3,1,2), (3,1,3),
 | |
| (3,2,1), (3,2,2), (3,2,3),
 | |
| (3,3,1), (3,3,2), (3,3,3);
 | |
| SELECT b/c as v, a FROM t1 ORDER BY v;
 | |
| v	a
 | |
| 0.33333	3
 | |
| 0.33333	1
 | |
| 0.33333	2
 | |
| 0.50000	1
 | |
| 0.50000	2
 | |
| 0.50000	3
 | |
| 0.66667	2
 | |
| 0.66667	1
 | |
| 0.66667	3
 | |
| 1.00000	3
 | |
| 1.00000	2
 | |
| 1.00000	3
 | |
| 1.00000	1
 | |
| 1.00000	2
 | |
| 1.00000	3
 | |
| 1.00000	2
 | |
| 1.00000	1
 | |
| 1.00000	1
 | |
| 1.50000	3
 | |
| 1.50000	2
 | |
| 1.50000	1
 | |
| 2.00000	1
 | |
| 2.00000	3
 | |
| 2.00000	2
 | |
| 3.00000	3
 | |
| 3.00000	2
 | |
| 3.00000	1
 | |
| SELECT b/c as v, SUM(a) FROM t1 GROUP BY v;
 | |
| v	SUM(a)
 | |
| 0.33333	6
 | |
| 0.50000	6
 | |
| 0.66667	6
 | |
| 1.00000	18
 | |
| 1.50000	6
 | |
| 2.00000	6
 | |
| 3.00000	6
 | |
| SELECT SUM(a) FROM t1 GROUP BY b/c;
 | |
| SUM(a)
 | |
| 6
 | |
| 6
 | |
| 6
 | |
| 18
 | |
| 6
 | |
| 6
 | |
| 6
 | |
| DROP TABLE t1;
 | |
| set div_precision_increment= @sav_dpi;
 | 
