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 18446744073709551615 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 range PRIMARY 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 PRIMARY 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 t2 range k2 k2 4 NULL 6 Using where; Using index 1 SIMPLE t1 index NULL PRIMARY 3 NULL 14 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 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.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 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.0000 0.0000 1 1 1 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), 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.0000 0.0000 1 1 1 1 1 3 1 1 1.0000 0.0000 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 high_priority 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 (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)) 3 drop table 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 (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;