mirror of
https://github.com/MariaDB/server.git
synced 2025-01-19 05:22:25 +01:00
9c2a63e35e
Cleaned up embedded library access and query cache handling Changed min stack size to 128K (to allow longer MyISAM keys) Fixed wrong priority for XOR (should be less than NEG to get -1^1 to work) client/mysqldump.c: Fixed bugs found after merge include/mysql_embed.h: Disable query cache when using embedded version myisam/mi_check.c: Removed not used variable mysql-test/r/auto_increment.result: Fixed bugs found after merge mysql-test/r/bdb.result: Fixed bugs found after merge mysql-test/r/func_group.result: Fixed bugs found after merge mysql-test/r/func_str.result: Fixed bugs found after merge mysql-test/r/func_time.result: Fixed bugs found after merge mysql-test/r/group_by.result: Fixed bugs found after merge mysql-test/r/innodb.result: Fixed bugs found after merge mysql-test/r/insert.result: Fixed bugs found after merge mysql-test/r/join_outer.result: Fixed bugs found after merge mysql-test/r/loaddata.result: Fixed bugs found after merge mysql-test/r/multi_update.result: Fixed bugs found after merge mysql-test/r/mysqldump.result: Update results mysql-test/r/rpl_EE_error.result: Fixed bugs found after merge mysql-test/r/rpl_multi_update.result: Fixed bugs found after merge mysql-test/r/symlink.result: Update results mysql-test/r/type_blob.result: Update results mysql-test/r/type_datetime.result: Update results mysql-test/r/type_decimal.result: Update results mysql-test/r/type_enum.result: Fixed bugs found after merge mysql-test/r/type_timestamp.result: Update results mysql-test/r/union.result: Update results mysql-test/r/warnings.result: Update results mysql-test/t/bdb.test: Fix test for 4.1 mysql-test/t/innodb.test: Fix test for 4.1 mysql-test/t/multi_update.test: Fix test for 4.1 mysql-test/t/mysqldump.test: Fix test for 4.1 mysql-test/t/rpl_EE_error.test: Fix test for 4.1 mysql-test/t/rpl_multi_update.test: Fix test for 4.1 mysql-test/t/union.test: Cleanup mysys/charset.c: Check results from my_once_alloc() mysys/my_handler.c: part of 4.0 merge sql-common/client.c: Part of 4.0 merge sql/field.cc: After merge fixes sql/field.h: After merge fixes sql/ha_innodb.cc: Remove duplicate include files sql/item.cc: Changed automatic int conversion to be of type binary sql/item.h: After merge fixes sql/item_func.cc: Changed automatic int conversion to be of type binary sql/item_func.h: After merge fixes sql/item_strfunc.cc: Added comments sql/item_subselect.cc: Indentation fixes sql/item_sum.cc: Changed automatic int conversion to be of type binary sql/item_sum.h: After merge fixes sql/mysql_priv.h: Cleanup embedded library access checks sql/mysqld.cc: Changed min stack size to 128K (to allow longer MyISAM keys) sql/set_var.cc: Fixed compiler warnings sql/share/czech/errmsg.txt: Better error message sql/share/danish/errmsg.txt: Better error message sql/share/dutch/errmsg.txt: Better error message sql/share/english/errmsg.txt: Better error message sql/share/estonian/errmsg.txt: Better error message sql/share/french/errmsg.txt: Better error message sql/share/greek/errmsg.txt: Better error message sql/share/hungarian/errmsg.txt: Better error message sql/share/italian/errmsg.txt: Better error message sql/share/japanese/errmsg.txt: Better error message sql/share/korean/errmsg.txt: Better error message sql/share/norwegian-ny/errmsg.txt: Better error message sql/share/norwegian/errmsg.txt: Better error message sql/share/polish/errmsg.txt: Better error message sql/share/romanian/errmsg.txt: Better error message sql/share/russian/errmsg.txt: Better error message sql/share/serbian/errmsg.txt: Better error message sql/share/slovak/errmsg.txt: Better error message sql/share/spanish/errmsg.txt: Better error message sql/share/swedish/errmsg.txt: Better error message sql/share/ukrainian/errmsg.txt: Better error message sql/sql_acl.h: Cleaned up embedded library acccess checks sql/sql_base.cc: After merge fixes sql/sql_client.cc: After merge fixes sql/sql_parse.cc: After merge fixes Changed access check code for embedded library (needed to make code shorter and ensure that check_table_access() is called) Recoded create-table handling for CREATE TABLE ... SELECT to make code shorter and faster sql/sql_prepare.cc: Add missing arguments sql/sql_select.cc: After merge fixes sql/sql_update.cc: After merge fixes sql/sql_yacc.yy: Fixed wrong priority for XOR (should be less than NEG to get -1^1 to work) sql/table.cc: After merge fixes
645 lines
23 KiB
Text
645 lines
23 KiB
Text
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 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 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;
|