mirror of
https://github.com/MariaDB/server.git
synced 2025-01-18 13:02:28 +01:00
6a2ef5577c
Item_sum_count_distinct, and deploy Unique for use with COUNT(DISTINCT) if there is no blob column in the list of DISTINCT arguments.
129 lines
2.2 KiB
Text
129 lines
2.2 KiB
Text
drop table if exists t1;
|
|
create table t1(n1 int, n2 int, s char(20), vs varchar(20), t text);
|
|
insert into t1 values (1,11, 'one','eleven', 'eleven'),
|
|
(1,11, 'one','eleven', 'eleven'),
|
|
(2,11, 'two','eleven', 'eleven'),
|
|
(2,12, 'two','twevle', 'twelve'),
|
|
(2,13, 'two','thirteen', 'foo'),
|
|
(2,13, 'two','thirteen', 'foo'),
|
|
(2,13, 'two','thirteen', 'bar'),
|
|
(NULL,13, 'two','thirteen', 'bar'),
|
|
(2,NULL, 'two','thirteen', 'bar'),
|
|
(2,13, NULL,'thirteen', 'bar'),
|
|
(2,13, 'two',NULL, 'bar'),
|
|
(2,13, 'two','thirteen', NULL);
|
|
select distinct n1 from t1;
|
|
n1
|
|
1
|
|
2
|
|
NULL
|
|
select count(distinct n1) from t1;
|
|
count(distinct n1)
|
|
2
|
|
select distinct n2 from t1;
|
|
n2
|
|
11
|
|
12
|
|
13
|
|
NULL
|
|
select count(distinct n2) from t1;
|
|
count(distinct n2)
|
|
3
|
|
select distinct s from t1;
|
|
s
|
|
one
|
|
two
|
|
NULL
|
|
select count(distinct s) from t1;
|
|
count(distinct s)
|
|
2
|
|
select distinct vs from t1;
|
|
vs
|
|
eleven
|
|
twevle
|
|
thirteen
|
|
NULL
|
|
select count(distinct vs) from t1;
|
|
count(distinct vs)
|
|
3
|
|
select distinct t from t1;
|
|
t
|
|
eleven
|
|
twelve
|
|
foo
|
|
bar
|
|
NULL
|
|
select count(distinct t) from t1;
|
|
count(distinct t)
|
|
4
|
|
select distinct n1,n2 from t1;
|
|
n1 n2
|
|
1 11
|
|
2 11
|
|
2 12
|
|
2 13
|
|
NULL 13
|
|
2 NULL
|
|
select count(distinct n1,n2) from t1;
|
|
count(distinct n1,n2)
|
|
4
|
|
select distinct n1,s from t1;
|
|
n1 s
|
|
1 one
|
|
2 two
|
|
NULL two
|
|
2 NULL
|
|
select count(distinct n1,s) from t1;
|
|
count(distinct n1,s)
|
|
2
|
|
select distinct s,n1,vs from t1;
|
|
s n1 vs
|
|
one 1 eleven
|
|
two 2 eleven
|
|
two 2 twevle
|
|
two 2 thirteen
|
|
two NULL thirteen
|
|
NULL 2 thirteen
|
|
two 2 NULL
|
|
select count(distinct s,n1,vs) from t1;
|
|
count(distinct s,n1,vs)
|
|
4
|
|
select distinct s,t from t1;
|
|
s t
|
|
one eleven
|
|
two eleven
|
|
two twelve
|
|
two foo
|
|
two bar
|
|
NULL bar
|
|
two NULL
|
|
select count(distinct s,t) from t1;
|
|
count(distinct s,t)
|
|
5
|
|
select count(distinct n1), count(distinct n2) from t1;
|
|
count(distinct n1) count(distinct n2)
|
|
2 3
|
|
select count(distinct n2), n1 from t1 group by n1;
|
|
count(distinct n2) n1
|
|
1 NULL
|
|
1 1
|
|
3 2
|
|
drop table t1;
|
|
create table t1 (n int default NULL);
|
|
flush status;
|
|
select count(distinct n) from t1;
|
|
count(distinct n)
|
|
5000
|
|
show status like 'Created_tmp_disk_tables';
|
|
Variable_name Value
|
|
Created_tmp_disk_tables 0
|
|
drop table t1;
|
|
create table t1 (s text);
|
|
flush status;
|
|
select count(distinct s) from t1;
|
|
count(distinct s)
|
|
5000
|
|
show status like 'Created_tmp_disk_tables';
|
|
Variable_name Value
|
|
Created_tmp_disk_tables 1
|
|
drop table t1;
|