mirror of
https://github.com/MariaDB/server.git
synced 2025-01-18 13:02:28 +01:00
877e3be4af
Fixed problem when converting bigint to double. Fixed bug in count(distinct null) Fixed bug with empty BDB tables. BitKeeper/deleted/.del-ATIS-mysql-Linux_2.4.0_64GB_SMP_i686-cmp-mysql,pg~dd306b2e583ebde4: Delete: sql-bench/Results/ATIS-mysql-Linux_2.4.0_64GB_SMP_i686-cmp-mysql,pg BitKeeper/deleted/.del-RUN-mysql-Linux_2.4.0_64GB_SMP_i686-cmp-mysql,pg~11038a44f73070e7: Delete: sql-bench/Results/RUN-mysql-Linux_2.4.0_64GB_SMP_i686-cmp-mysql,pg BitKeeper/deleted/.del-alter-table-mysql-Linux_2.4.0_64GB_SMP_i686-cmp-mysql,pg~662b96bc66bc91b6: Delete: sql-bench/Results/alter-table-mysql-Linux_2.4.0_64GB_SMP_i686-cmp-mysql,pg BitKeeper/deleted/.del-big-tables-mysql-Linux_2.4.0_64GB_SMP_i686-cmp-mysql,pg~788ad492867b1226: Delete: sql-bench/Results/big-tables-mysql-Linux_2.4.0_64GB_SMP_i686-cmp-mysql,pg BitKeeper/deleted/.del-connect-mysql-Linux_2.4.0_64GB_SMP_i686-cmp-mysql,pg~5316add301edb60: Delete: sql-bench/Results/connect-mysql-Linux_2.4.0_64GB_SMP_i686-cmp-mysql,pg BitKeeper/deleted/.del-create-mysql-Linux_2.4.0_64GB_SMP_i686-cmp-mysql,pg~26e09af61f88d8c9: Delete: sql-bench/Results/create-mysql-Linux_2.4.0_64GB_SMP_i686-cmp-mysql,pg BitKeeper/deleted/.del-insert-mysql-Linux_2.4.0_64GB_SMP_i686-cmp-mysql,pg~fd2699adb3190d07: Delete: sql-bench/Results/insert-mysql-Linux_2.4.0_64GB_SMP_i686-cmp-mysql,pg BitKeeper/deleted/.del-select-mysql-Linux_2.4.0_64GB_SMP_i686-cmp-mysql,pg~b01175ad38fd12b6: Delete: sql-bench/Results/select-mysql-Linux_2.4.0_64GB_SMP_i686-cmp-mysql,pg BitKeeper/deleted/.del-wisconsin-mysql-Linux_2.4.0_64GB_SMP_i686-cmp-mysql,pg~8ba598d217450157: Delete: sql-bench/Results/wisconsin-mysql-Linux_2.4.0_64GB_SMP_i686-cmp-mysql,pg Docs/manual.texi: Changelog + update to Linux section client/mysqlcheck.c: Fixed bug when using --fast --check --auto-repair --fast will not anymore repair tables that had warnings but where ok. mysql-test/r/bdb.result: New test case mysql-test/r/bigint.result: New test case mysql-test/r/count_distinct.result: New test case mysql-test/t/bdb.test: New test case mysql-test/t/bigint.test: New test case mysql-test/t/count_distinct.test: New test case sql-bench/Comments/postgres.benchmark: Update for PostgreSQL 7.1.2 sql-bench/graph-compare-results.sh: Fixed colors for mysql --fast tests sql/field.cc: Fixed problem when converting bigint to double. sql/item_sum.cc: Fixed bug in count(distinct null) sql/item_sum.h: Fixed bug in count(distinct null) sql/mysqlbinlog.cc: Fixed typo sql/sql_base.cc: cleanup sql/sql_select.cc: Fixed bug with empty BDB tables. sql/time.cc: Removed warning when reading timestamps with sub seconds.
44 lines
2.3 KiB
Text
44 lines
2.3 KiB
Text
#
|
|
# Problem with count(distinct)
|
|
#
|
|
|
|
drop table if exists t1,t2,t3;
|
|
create table t1 (libname varchar(21) not null, city text, primary key (libname));
|
|
create table t2 (isbn varchar(21) not null, author text, title text, primary key (isbn));
|
|
create table t3 (isbn varchar(21) not null, libname varchar(21) not null, quantity int ,primary key (isbn,libname));
|
|
insert into t2 values ('001','Daffy','A duck''s life');
|
|
insert into t2 values ('002','Bugs','A rabbit\'s life');
|
|
insert into t2 values ('003','Cowboy','Life on the range');
|
|
insert into t2 values ('000','Anonymous','Wanna buy this book?');
|
|
insert into t2 values ('004','Best Seller','One Heckuva book');
|
|
insert into t2 values ('005','EveryoneBuys','This very book');
|
|
insert into t2 values ('006','San Fran','It is a san fran lifestyle');
|
|
insert into t2 values ('007','BerkAuthor','Cool.Berkley.the.book');
|
|
insert into t3 values('000','New York Public Libra','1');
|
|
insert into t3 values('001','New York Public Libra','2');
|
|
insert into t3 values('002','New York Public Libra','3');
|
|
insert into t3 values('003','New York Public Libra','4');
|
|
insert into t3 values('004','New York Public Libra','5');
|
|
insert into t3 values('005','New York Public Libra','6');
|
|
insert into t3 values('006','San Fransisco Public','5');
|
|
insert into t3 values('007','Berkeley Public1','3');
|
|
insert into t3 values('007','Berkeley Public2','3');
|
|
insert into t3 values('001','NYC Lib','8');
|
|
insert into t1 values ('New York Public Libra','New York');
|
|
insert into t1 values ('San Fransisco Public','San Fran');
|
|
insert into t1 values ('Berkeley Public1','Berkeley');
|
|
insert into t1 values ('Berkeley Public2','Berkeley');
|
|
insert into t1 values ('NYC Lib','New York');
|
|
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;
|
|
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;
|
|
drop table t1, t2, t3;
|
|
|
|
#
|
|
# Problem with LEFT JOIN
|
|
#
|
|
|
|
create table t1 (f1 int);
|
|
insert into t1 values (1);
|
|
create table t2 (f1 int,f2 int);
|
|
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;
|
|
drop table t1,t2;
|