~stewart/drizzle/embedded-innodb-create-select-transaction-arrgh

« back to all changes in this revision

Viewing changes to mysql-test/r/count_distinct.result

  • Committer: brian
  • Date: 2008-06-25 05:29:13 UTC
  • Revision ID: brian@localhost.localdomain-20080625052913-6upwo0jsrl4lnapl
clean slate

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
drop table if exists t1,t2,t3;
 
2
create table t1 (libname varchar(21) not null, city text, primary key (libname));
 
3
create table t2 (isbn varchar(21) not null, author text, title text, primary key (isbn));
 
4
create table t3 (isbn varchar(21) not null, libname varchar(21) not null, quantity int ,primary key (isbn,libname));
 
5
insert into t2 values ('001','Daffy','A duck''s life');
 
6
insert into t2 values ('002','Bugs','A rabbit\'s life');
 
7
insert into t2 values ('003','Cowboy','Life on the range');
 
8
insert into t2 values ('000','Anonymous','Wanna buy this book?');
 
9
insert into t2 values ('004','Best Seller','One Heckuva book');
 
10
insert into t2 values ('005','EveryoneBuys','This very book');
 
11
insert into t2 values ('006','San Fran','It is a san fran lifestyle');
 
12
insert into t2 values ('007','BerkAuthor','Cool.Berkley.the.book');
 
13
insert into t3 values('000','New York Public Libra','1');
 
14
insert into t3 values('001','New York Public Libra','2');
 
15
insert into t3 values('002','New York Public Libra','3');
 
16
insert into t3 values('003','New York Public Libra','4');
 
17
insert into t3 values('004','New York Public Libra','5');
 
18
insert into t3 values('005','New York Public Libra','6');
 
19
insert into t3 values('006','San Fransisco Public','5');
 
20
insert into t3 values('007','Berkeley Public1','3');
 
21
insert into t3 values('007','Berkeley Public2','3');
 
22
insert into t3 values('001','NYC Lib','8');
 
23
insert into t1 values ('New York Public Libra','New York');
 
24
insert into t1 values ('San Fransisco Public','San Fran');
 
25
insert into t1 values ('Berkeley Public1','Berkeley');
 
26
insert into t1 values ('Berkeley Public2','Berkeley');
 
27
insert into t1 values ('NYC Lib','New York');
 
28
select t2.isbn,city,t1.libname,count(t1.libname) as a from t3 left join t1 on t3.libname=t1.libname left join t2 on t3.isbn=t2.isbn group by city,t1.libname;
 
29
isbn    city    libname a
 
30
007     Berkeley        Berkeley Public1        1
 
31
007     Berkeley        Berkeley Public2        1
 
32
000     New York        New York Public Libra   6
 
33
001     New York        NYC Lib 1
 
34
006     San Fran        San Fransisco Public    1
 
35
select t2.isbn,city,t1.libname,count(distinct t1.libname) as a from t3 left join t1 on t3.libname=t1.libname left join t2 on t3.isbn=t2.isbn group by city having count(distinct t1.libname) > 1;
 
36
isbn    city    libname a
 
37
007     Berkeley        Berkeley Public1        2
 
38
000     New York        New York Public Libra   2
 
39
select t2.isbn,city,t1.libname,count(distinct t1.libname) as a from t3 left join t1 on t3.libname=t1.libname left join t2 on t3.isbn=t2.isbn group by city having count(distinct concat(t1.libname,'a')) > 1;
 
40
isbn    city    libname a
 
41
007     Berkeley        Berkeley Public1        2
 
42
000     New York        New York Public Libra   2
 
43
drop table t1, t2, t3;
 
44
create table t1 (f1 int);
 
45
insert into t1 values (1);
 
46
create table t2 (f1 int,f2 int);
 
47
select t1.f1,count(distinct t2.f2),count(distinct 1,NULL) from t1 left join t2 on t1.f1=t2.f1 group by t1.f1;
 
48
f1      count(distinct t2.f2)   count(distinct 1,NULL)
 
49
1       0       0
 
50
drop table t1,t2;
 
51
create table t1 (f int);
 
52
select count(distinct f) from t1;
 
53
count(distinct f)
 
54
0
 
55
drop table t1;
 
56
create table t1 (a char(3), b char(20), primary key (a, b));
 
57
insert into t1 values ('ABW', 'Dutch'), ('ABW', 'English');
 
58
select count(distinct a) from t1 group by b;
 
59
count(distinct a)
 
60
1
 
61
1
 
62
drop table t1;
 
63
create table t1 (f1 int, f2 int);
 
64
insert into t1 values (0,1),(1,2);
 
65
select count(distinct if(f1,3,f2)) from t1;
 
66
count(distinct if(f1,3,f2))
 
67
2
 
68
drop table t1;