⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 order_by.test

📁 这是linux下运行的mysql软件包,可用于linux 下安装 php + mysql + apach 的网络配置
💻 TEST
📖 第 1 页 / 共 2 页
字号:
) ENGINE=MyISAM;INSERT INTO t1 VALUES (103853,108),(103867,108),(103962,108),(104505,108),(104619,108),(104620,108);ALTER TABLE t1 add skr int(10) not null;CREATE TABLE t2 (  gid int(10) unsigned NOT NULL default '0',  uid smallint(5) unsigned NOT NULL default '1',  sid tinyint(3) unsigned NOT NULL default '1',  PRIMARY KEY  (gid),  KEY uid (uid),  KEY status_id (sid)) ENGINE=MyISAM;INSERT INTO t2 VALUES (103853,250,5),(103867,27,5),(103962,27,5),(104505,117,5),(104619,75,5),(104620,15,5);CREATE TABLE t3 (  uid smallint(6) NOT NULL auto_increment,  PRIMARY KEY  (uid)) ENGINE=MyISAM;INSERT INTO t3 VALUES (1),(15),(27),(75),(117),(250);ALTER TABLE t3 add skr int(10) not null;select t1.gid, t2.sid, t3.uid from t2, t1, t3 where t2.gid = t1.gid and t2.uid = t3.uid order by t3.uid, t1.gid;select t1.gid, t2.sid, t3.uid from t3, t2, t1 where t2.gid = t1.gid and t2.uid = t3.uid order by t3.uid, t1.gid;# The following ORDER BY can be optimimizedEXPLAIN select t1.gid, t2.sid, t3.uid from t3, t2, t1 where t2.gid = t1.gid and t2.uid = t3.uid order by t1.gid, t3.uid;EXPLAIN SELECT t1.gid, t3.uid from t1, t3 where t1.gid = t3.uid order by t1.gid,t3.skr;# The following ORDER BY can't be optimimizedEXPLAIN SELECT t1.gid, t2.sid, t3.uid from t2, t1, t3 where t2.gid = t1.gid and t2.uid = t3.uid order by t3.uid, t1.gid;EXPLAIN SELECT t1.gid, t3.uid from t1, t3 where t1.gid = t3.uid order by t3.skr,t1.gid;EXPLAIN SELECT t1.gid, t3.uid from t1, t3 where t1.skr = t3.uid order by t1.gid,t3.skr;drop table t1,t2,t3;## Test of bug when doing an ORDER BY with const items#CREATE TABLE t1 (  `titre` char(80) NOT NULL default '',  `numeropost` mediumint(8) unsigned NOT NULL auto_increment,  `date` datetime NOT NULL default '0000-00-00 00:00:00',  `auteur` char(35) NOT NULL default '',  `icone` tinyint(2) unsigned NOT NULL default '0',  `lastauteur` char(35) NOT NULL default '',  `nbrep` smallint(6) unsigned NOT NULL default '0',  `dest` char(35) NOT NULL default '',  `lu` tinyint(1) unsigned NOT NULL default '0',  `vue` mediumint(8) unsigned NOT NULL default '0',  `ludest` tinyint(1) unsigned NOT NULL default '0',  `ouvert` tinyint(1) unsigned NOT NULL default '1',  PRIMARY KEY  (`numeropost`),  KEY `date` (`date`),  KEY `dest` (`dest`,`ludest`),  KEY `auteur` (`auteur`,`lu`),  KEY `auteur_2` (`auteur`,`date`),  KEY `dest_2` (`dest`,`date`)) CHECKSUM=1;CREATE TABLE t2 (  `numeropost` mediumint(8) unsigned NOT NULL default '0',  `pseudo` char(35) NOT NULL default '',  PRIMARY KEY  (`numeropost`,`pseudo`),  KEY `pseudo` (`pseudo`));INSERT INTO t1 (titre,auteur,dest) VALUES ('test','joce','bug');INSERT INTO t2 (numeropost,pseudo) VALUES (1,'joce'),(1,'bug');SELECT titre,t1.numeropost,auteur,icone,nbrep,0,date,vue,ouvert,lastauteur,dest FROM t2 LEFT JOIN t1 USING(numeropost) WHERE t2.pseudo='joce' ORDER BY date DESC LIMIT 0,30;SELECT titre,numeropost,auteur,icone,nbrep,0,date,vue,ouvert,lastauteur,dest FROM t2 LEFT JOIN t1 USING(numeropost) WHERE t2.pseudo='joce' ORDER BY date DESC LIMIT 0,30;SELECT titre,t1.numeropost,auteur,icone,nbrep,'0',date,vue,ouvert,lastauteur,dest FROM t2 LEFT JOIN t1 USING(numeropost) WHERE t2.pseudo='joce' ORDER BY date DESC LIMIT 0,30;SELECT titre,numeropost,auteur,icone,nbrep,'0',date,vue,ouvert,lastauteur,dest FROM t2 LEFT JOIN t1 USING(numeropost) WHERE t2.pseudo='joce' ORDER BY date DESC LIMIT 0,30;drop table t1,t2;## Test order by with NULL values#CREATE TABLE t1 (a int, b int);INSERT INTO t1 VALUES (1, 2);INSERT INTO t1 VALUES (3, 4);INSERT INTO t1 VALUES (5, NULL);SELECT * FROM t1 ORDER BY b;SELECT * FROM t1 ORDER BY b DESC;SELECT * FROM t1 ORDER BY (a + b);SELECT * FROM t1 ORDER BY (a + b) DESC;DROP TABLE t1;## Test of FORCE INDEX ... ORDER BY#create table t1(id int not null auto_increment primary key, t char(12));disable_query_log;let $1 = 1000;while ($1) {  eval insert into t1(t) values ('$1');   dec $1; }enable_query_log;explain select id,t from t1 order by id;explain select id,t from t1 force index (primary) order by id;drop table t1;## Test of test_if_subkey() function#CREATE TABLE t1 (  FieldKey varchar(36) NOT NULL default '',  LongVal bigint(20) default NULL,  StringVal mediumtext,  KEY FieldKey (FieldKey),  KEY LongField (FieldKey,LongVal),  KEY StringField (FieldKey,StringVal(32)));INSERT INTO t1 VALUES ('0',3,'0'),('0',2,'1'),('0',1,'2'),('1',2,'1'),('1',1,'3'), ('1',0,'2'),('2',3,'0'),('2',2,'1'),('2',1,'2'),('2',3,'0'),('2',2,'1'),('2',1,'2'),('3',2,'1'),('3',1,'2'),('3','3','3');EXPLAIN SELECT * FROM t1 WHERE FieldKey = '1' ORDER BY LongVal;SELECT * FROM t1 WHERE FieldKey = '1' ORDER BY LongVal;EXPLAIN SELECT * FROM t1 WHERE FieldKey > '2' ORDER BY LongVal;SELECT * FROM t1 WHERE FieldKey > '2' ORDER BY LongVal;EXPLAIN SELECT * FROM t1 WHERE FieldKey > '2' ORDER BY FieldKey, LongVal;SELECT * FROM t1 WHERE FieldKey > '2' ORDER BY FieldKey, LongVal;DROP TABLE t1;## Bug #1945 - Crashing bug with bad User Variables in UPDATE ... ORDER BY ...#CREATE TABLE t1 (a INT, b INT);SET @id=0;UPDATE t1 SET a=0 ORDER BY (a=@id), b;DROP TABLE t1;## Bug when doing an order by on a 1 byte string (Bug #2147)#CREATE TABLE t1 (  id smallint(6) unsigned NOT NULL default '0',  menu tinyint(4) NOT NULL default '0',  KEY id (id),  KEY menu (menu)) ENGINE=MyISAM;INSERT INTO t1 VALUES (11384, 2),(11392, 2);SELECT id FROM t1 WHERE id <11984 AND menu =2 ORDER BY id DESC LIMIT 1 ;drop table t1;## REF_OR_NULL optimization + filesort (bug #2419)#create table t1(a int, b int, index(b));insert into t1 values (2, 1), (1, 1), (4, NULL), (3, NULL), (6, 2), (5, 2);explain select * from t1 where b=1 or b is null order by a;select * from t1 where b=1 or b is null order by a;explain select * from t1 where b=2 or b is null order by a;select * from t1 where b=2 or b is null order by a;drop table t1;## Bug #3155 - Strange results with index (x, y) ... WHERE ... ORDER BY pk#create table t1 (a int not null auto_increment, b int not null, c int not null, d int not null,key(a,b,d), key(c,b,a));create table t2 like t1;insert into t1 values (NULL, 1, 2, 0), (NULL, 2, 1, 1), (NULL, 3, 4, 2), (NULL, 4, 3, 3);insert into t2 select null, b, c, d from t1;insert into t1 select null, b, c, d from t2;insert into t2 select null, b, c, d from t1;insert into t1 select null, b, c, d from t2;insert into t2 select null, b, c, d from t1;insert into t1 select null, b, c, d from t2;insert into t2 select null, b, c, d from t1;insert into t1 select null, b, c, d from t2;insert into t2 select null, b, c, d from t1;insert into t1 select null, b, c, d from t2;optimize table t1;set @row=10;insert into t1 select 1, b, c + (@row:=@row - 1) * 10, d - @row from t2 limit 10;select * from t1 where a=1 and b in (1) order by c, b, a;select * from t1 where a=1 and b in (1);drop table t1, t2;## Bug #4302# Ambiguos order by when renamed column is identical to another in result.# Should not fail and prefer column from t1 for sorting.#create table t1 (col1 int, col int);create table t2 (col2 int, col int);insert into t1 values (1,1),(2,2),(3,3);insert into t2 values (1,3),(2,2),(3,1);select t1.* , t2.col as t2_col from t1 left join t2 on (t1.col1=t2.col2)  order by col;## Let us also test various ambiguos and potentially ambiguos cases # related to aliases#--error 1052select col1 as col, col from t1 order by col;--error 1052select t1.col as c1, t2.col as c2 from t1, t2 where t1.col1=t2.col2  order by col;--error 1052select t1.col as c1, t2.col as c2 from t1, t2 where t1.col1=t2.col2  order by col;--error 1052select col1 from t1, t2 where t1.col1=t2.col2 order by col;--error 1052select t1.col as t1_col, t2.col2 from t1, t2 where t1.col1=t2.col2  order by col;select t1.col as t1_col, t2.col from t1, t2 where t1.col1=t2.col2  order by col;select col2 as c, col as c from t2 order by col;select col2 as col, col as col2 from t2 order by col; select t2.col2, t2.col, t2.col from t2 order by col;select t2.col2 as col from t2 order by t2.col;select t2.col2 as col, t2.col from t2 order by t2.col;select t2.col2, t2.col, t2.col from t2 order by t2.col;drop table t1, t2;## Bug #5428: a problem with small max_sort_length value#create table t1 (a char(25));insert into t1 set a = repeat('x', 20);insert into t1 set a = concat(repeat('x', 19), 'z');insert into t1 set a = concat(repeat('x', 19), 'ab');insert into t1 set a = concat(repeat('x', 19), 'aa');set max_sort_length=20;select a from t1 order by a;drop table t1;create table t1 (a int not null, b  int not null, c int not null);insert t1 values (1,1,1),(1,1,2),(1,2,1);select a, b from t1 group by a, b order by sum(c);drop table t1;## Bug #7331#create table t1 (  `sid` decimal(8,0) default null,  `wnid` varchar(11) not null default '',  key `wnid14` (`wnid`(4)),  key `wnid` (`wnid`)) engine=myisam default charset=latin1;insert into t1 (`sid`, `wnid`) values('10100','01019000000'),('37986','01019000000'),('37987','01019010000'),('39560','01019090000'),('37989','01019000000'),('37990','01019011000'),('37991','01019011000'),('37992','01019019000'),('37993','01019030000'),('37994','01019090000'),('475','02070000000'),('25253','02071100000'),('25255','02071100000'),('25256','02071110000'),('25258','02071130000'),('25259','02071190000'),('25260','02071200000'),('25261','02071210000'),('25262','02071290000'),('25263','02071300000'),('25264','02071310000'),('25265','02071310000'),('25266','02071320000'),('25267','02071320000'),('25269','02071330000'),('25270','02071340000'),('25271','02071350000'),('25272','02071360000'),('25273','02071370000'),('25281','02071391000'),('25282','02071391000'),('25283','02071399000'),('25284','02071400000'),('25285','02071410000'),('25286','02071410000'),('25287','02071420000'),('25288','02071420000'),('25291','02071430000'),('25290','02071440000'),('25292','02071450000'),('25293','02071460000'),('25294','02071470000'),('25295','02071491000'),('25296','02071491000'),('25297','02071499000');explain select * from t1 where wnid like '0101%' order by wnid;select * from t1 where wnid like '0101%' order by wnid;drop table t1;## Bug #7672 - a wrong result for a select query in braces followed by order by#CREATE TABLE t1 (a int);INSERT INTO t1 VALUES (2), (1), (1), (2), (1);SELECT a FROM t1 ORDER BY a;(SELECT a FROM t1) ORDER BY a;DROP TABLE t1;# End of 4.1 tests

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -