数据库oracle中怎么用distinct取消重复行
首先,对你的需求有点模糊,取消c_id的重复行,然后还显示c_id,s_id。上面两个SQL不知道是否满足你的需求,就比如
lect distinct c_id,s_id from xskc ,这条语句消除的是c_id和s_id同时一样的记录,所以单就c_id,还是会有重复的情况。
SQL> desc dup
Name Null? Type
----------------------------------------- -------- ----------------------------
ID NUMBER
NAME VARCHAR2(10)
SQL> lect * from dup;
ID NAME
---------- ----------
1 AAA
2 AAA
1 BBB
3 BBB
SQL> lect distinct id,name from dup;
ID NAME
---------- ----------
1 AAA
1 BBB
2 AAA
3 BBB
SQL> lect distinct id from dup;
ID
----------
1
2
3
所以不管怎么样,如果你要显示c_id和s_id的话,c_id基本都可能重复,除非你还有其他的条件限制
oracle中的distinct和rowid?
1、distinct为查询时去除重得数据
使用如下: lect distinct 栏位,.....from 表名
2、rowid为自动产生的随机唯一码
使用如下:lect 栏位,....,rowid from 表名
Oracle―distinct的用法
以三个字段举例
lectid,max(字段1),max(字段2),max(字段3)fromAgroupbyid
70多个字段也只能这样类似的写下去,当然max可以改成min
Oracle 很大的表distinct查询
distinct机理就是两个值逐一对比,需要遍历整个表,表超大时简直就是灾难。
group by是先统计再查,也就是先建索引再查询,表越大效率越高。
很多oracle项目都禁止使用distinct语句,全部用group by替代
ORACLE distinct 问题
ORA-01114 错误。
不是你 distinct 的错误。
希望试过成功后在说
有没有环境。怎么试
点下OK就提示未连接到ORACLE】没有,看到连接错误吗。。
你为什么,不从 ORA-01114 错误着手,调试啊。
1、查看物理磁盘剩余空间