143 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			143 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| drop table if exists t1,t2,t3,t4,t5;
 | |
| create table t1 (pk int primary key,a double ,b double);
 | |
| insert into t1(pk,a) values (1,12345678901234567890);
 | |
| select count(a) from t1;
 | |
| count(a)
 | |
| 1
 | |
| select count(distinct a) from t1;
 | |
| count(distinct a)
 | |
| 1
 | |
| drop table t1;
 | |
| CREATE TABLE t1 (a INT, b INT primary key);
 | |
| INSERT INTO t1 VALUES (1,1),(1,2),(1,3),(1,4),(1,5),(1,6),(1,7),(1,8);
 | |
| SELECT a,COUNT(DISTINCT b) AS cnt FROM t1 GROUP BY a HAVING cnt > 50;
 | |
| a	cnt
 | |
| SELECT a,SUM(DISTINCT b) AS sumation FROM t1 GROUP BY a HAVING sumation > 50;
 | |
| a	sumation
 | |
| SELECT a,AVG(DISTINCT b) AS average FROM t1 GROUP BY a HAVING average > 50;
 | |
| a	average
 | |
| DROP TABLE t1;
 | |
| CREATE TABLE t1 ( a INT, b INT primary key);
 | |
| INSERT INTO t1 VALUES (NULL, 1), (NULL, 2);
 | |
| EXPLAIN SELECT MIN(a), MIN(b) FROM t1;
 | |
| SELECT MIN(a), MIN(b) FROM t1;
 | |
| MIN(a)	MIN(b)
 | |
| NULL	1
 | |
| CREATE TABLE t2( pk int primary key, a INT, b INT, c INT);
 | |
| INSERT INTO t2 ( pk,a, b, c ) VALUES ( 1,1, NULL, 2 ), ( 2,1, 3, 4 ), ( 3,1, 4, 4 );
 | |
| EXPLAIN SELECT MIN(b), MIN(c) FROM t2 WHERE a = 1;
 | |
| SELECT MIN(b), MIN(c) FROM t2 WHERE a = 1;
 | |
| MIN(b)	MIN(c)
 | |
| 3	2
 | |
| CREATE TABLE t3 (pk int primary key , a INT, b INT, c int);
 | |
| INSERT INTO t3 VALUES (1,1, NULL, 1), (2,2, NULL, 2),  (3,3, NULL, 3);
 | |
| EXPLAIN SELECT MIN(a), MIN(b) FROM t3 where a = 2;
 | |
| SELECT MIN(a), MIN(b) FROM t3 where a = 2;
 | |
| MIN(a)	MIN(b)
 | |
| 2	NULL
 | |
| CREATE TABLE t4 (a INT, b INT, c int, primary KEY(a, c));
 | |
| INSERT INTO t4 VALUES (1, 1, 1), (2, NULL, 2), (3, 1, 3);
 | |
| EXPLAIN SELECT MIN(a), MIN(b) FROM t4 where a = 2;
 | |
| SELECT MIN(a), MIN(b) FROM t4 where a = 2;
 | |
| MIN(a)	MIN(b)
 | |
| 2	NULL
 | |
| SELECT MIN(b), min(c) FROM t4 where a = 2;
 | |
| MIN(b)	min(c)
 | |
| NULL	2
 | |
| CREATE TABLE t5( a INT, b INT, primary KEY( a, b),c int);
 | |
| INSERT INTO t5(a,b) VALUES( 1, 1 ), ( 1, 2 );
 | |
| EXPLAIN SELECT MIN(a), MIN(b) FROM t5 WHERE a = 1;
 | |
| SELECT MIN(a), MIN(b) FROM t5 WHERE a = 1;
 | |
| MIN(a)	MIN(b)
 | |
| 1	1
 | |
| SELECT MIN(a), MIN(b) FROM t5 WHERE a = 1 and b > 1;
 | |
| MIN(a)	MIN(b)
 | |
| 1	2
 | |
| DROP TABLE t1, t2, t3, t4, t5;
 | |
| CREATE TABLE t1 (a int, b datetime(6), primary key (a,b),c int);
 | |
| SELECT MIN(b) FROM t1 WHERE a=1 AND b>'2007-08-01';
 | |
| MIN(b)
 | |
| NULL
 | |
| DROP TABLE t1;
 | |
| CREATE TABLE t1 (a INT primary key, b int);
 | |
| INSERT INTO t1(a) VALUES (1),(2),(3),(4);
 | |
| SELECT a FROM t1 HAVING COUNT(*)>2;
 | |
| a
 | |
| 1
 | |
| SELECT COUNT(*), a FROM t1;
 | |
| COUNT(*)	a
 | |
| 4	1
 | |
| SELECT a FROM t1 HAVING COUNT(*)>2;
 | |
| a
 | |
| 1
 | |
| SELECT COUNT(*), a FROM t1;
 | |
| COUNT(*)	a
 | |
| 4	1
 | |
| DROP TABLE t1;
 | |
| CREATE TABLE t1(pk int primary key,a DOUBLE );
 | |
| INSERT INTO t1 VALUES (1,10), (2,20);
 | |
| SELECT AVG(a), CAST(AVG(a) AS DECIMAL) FROM t1;
 | |
| AVG(a)	CAST(AVG(a) AS DECIMAL)
 | |
| 15	15
 | |
| DROP TABLE t1;
 | |
| CREATE TABLE t1 (a INT, b INT primary key);
 | |
| INSERT INTO t1 VALUES (1,1), (1,2), (1,3);
 | |
| SELECT COUNT(*) FROM t1;
 | |
| COUNT(*)
 | |
| 3
 | |
| SELECT COUNT(*) FROM t1 where a=1;
 | |
| COUNT(*)
 | |
| 3
 | |
| SELECT COUNT(*),a FROM t1;
 | |
| COUNT(*)	a
 | |
| 3	1
 | |
| SELECT COUNT(*) FROM t1 a JOIN t1 b ON a.a= b.a;
 | |
| COUNT(*)
 | |
| 9
 | |
| DROP TABLE t1;
 | |
| CREATE TABLE t1 (
 | |
| pk INT NOT NULL,
 | |
| i INT,
 | |
| PRIMARY KEY (pk)
 | |
| );
 | |
| INSERT INTO t1 VALUES (1,11),(2,12),(3,13);
 | |
| SELECT MAX(pk) as max, i
 | |
| FROM t1
 | |
| ORDER BY max;
 | |
| max	i
 | |
| 3	11
 | |
| SELECT MAX(pk) as max, i
 | |
| FROM t1
 | |
| WHERE pk<2
 | |
| ORDER BY max;
 | |
| max	i
 | |
| 1	11
 | |
| DROP TABLE t1;
 | |
| CREATE TABLE t1(a int, primary KEY(a), b int);
 | |
| INSERT INTO t1(a) VALUES (1), (2);
 | |
| SELECT 1 FROM t1 ORDER BY AVG(DISTINCT a);
 | |
| 1
 | |
| 1
 | |
| DROP TABLE t1;
 | |
| CREATE TABLE t1 (pk int primary key,col_int_nokey int);
 | |
| INSERT INTO t1 VALUES (1,7),(2,8),(3,NULL);
 | |
| SELECT AVG(DISTINCT col_int_nokey) FROM t1;
 | |
| AVG(DISTINCT col_int_nokey)
 | |
| 7.5000
 | |
| SELECT AVG(DISTINCT outr.col_int_nokey) FROM t1 AS outr LEFT JOIN t1 AS outr2 ON
 | |
| outr.col_int_nokey = outr2.col_int_nokey;
 | |
| AVG(DISTINCT outr.col_int_nokey)
 | |
| 7.5000
 | |
| DROP TABLE t1;
 | |
| create table t1 (pk int primary key, b int);
 | |
| insert into t1 values (1, NULL), (2, 2), (3, 4);
 | |
| select * from t1;
 | |
| pk	b
 | |
| 1	NULL
 | |
| 2	2
 | |
| 3	4
 | |
| select count(b), min(b), max(b), sum(b), avg(b) from t1;
 | |
| count(b)	min(b)	max(b)	sum(b)	avg(b)
 | |
| 2	2	4	6	3.0000
 | |
| drop table t1;
 | 
