首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > 其他数据库 >

Distinct函数的顶替方法

2012-08-16 
Distinct函数的替代方法SQL select num from t1?????? NUM----------???????? 6???????? 6???????? 7???

Distinct函数的替代方法

SQL> select num from t1;


?????? NUM
----------
???????? 6
???????? 6
???????? 7
???????? 8
???????? 9
???????? 1
???????? 1
???????? 1
?????? 1
??????? 1
???????? 1
???????? 1
???? ?? 1
??? ???? 1
??????? 1
15 rows selected
?
SQL> select distinct num from t1;


?????? NUM
----------
???????? 1
???????? 6
???????? 8
????? ? 7
??????? 9
5 rows selected



一、用unique代替distinct:

这个比较无耻,基本属于说了跟没说一样,但确实是对的
SQL> select unique num from t1;
?????? NUM
----------
???????? 1
???????? 6
???????? 8
????? ? 7
??????? 9
5 rows selected


二、用group by来做:

这个应该是出题者的本意
SQL> select num from t1 group by num;
?????? NUM
----------
???????? 1
???????? 6
???????? 8
???????? 7
???????? 9
5 rows selected


三、用union和minus:

因为union和minus默认都是先distinct然后再做聚集,所以可以这样做:

SQL> select num from t1 minus select 999 from dual;
?????? NUM
----------
???????? 1
???????? 6
???????? 7
???????? 8
???????? 9
5 rows selected
?

SQL> select num from t1 union select num from t1 ;


?????? NUM
----------
???????? 1
???????? 6
???????? 7
???????? 8
???????? 9
5 rows selected

一个是minus一个没有的项,一个是union它本身。



关于其他的方法,要是再用over之类的就没有什么太大的意义了,差不多就这3种了。?原文地址:http://www.blogjava.net/decode360/archive/2009/06/22/283563.html

热点排行