distinct num oracle_distinct oracle - CSDN
精华内容
参与话题
  • 我SQL语句是这样的 sum(distinct case when e.ifxydw='1' and a.delstate ='0' then b.money else null end) as Xysr, 也碰到了跟上面一样的问题,b.money只要数据相同他就把我的给去掉了,这样我改怎么解决?...
  • oracle 去重几个方法

    万次阅读 2014-08-22 14:58:07
    原文laizi 几个删除重复记录的SQL语句  1.... 2.... 3.... 据据oracle带的rowid属性,进行判断,是否存在重复,语句如下:  查数据:  select * from table1 a where rowid !=(select max


    几个删除重复记录的SQL语句

      1.用rowid方法

      2.用group by方法

      3.用distinct方法

      1。用rowid方法

      据据oracle带的rowid属性,进行判断,是否存在重复,语句如下:

      查数据:

      select * from table1 a where rowid !=(select max(rowid)

      from table1 b where a.name1=b.name1 and a.name2=b.name2……)

      删数据:

      delete from table1 a where rowid !=(select max(rowid)

      from table1 b where a.name1=b.name1 and a.name2=b.name2……)

      2.group by方法

      查数据:

      select count(num), max(name) from student --列出重复的记录数,并列出他的name属性

      group by num

      having count(num) >1 --按num分组后找出表中num列重复,即出现次数大于一次

      删数据:

      delete from student

      group by num

      having count(num) >1

      这样的话就把所有重复的都删除了。

      3.用distinct方法 -对于小的表比较有用

      create table table_new as select distinct * from table1 minux

      truncate table table1;

      insert into table1 select * from table_new;

    展开全文
  • CASE WHEN v.calltype='1' THEN COUNT(DISTINCT v.callid) END num, CASE WHEN v.isworktime='0' THEN COUNT(DISTINCT v.callid) END num1, CASE WHEN v.isworktime='1' THEN COUNT(DISTINCT v.callid) END num2,...
  • count,distinct和group by对null值的操作

    千次阅读 2018-05-21 12:03:53
    distinct 会将所有null视为一项 group by 将所有null值视为一项 count 不会计算null值项,count(null)=0 select count() from (select count() as num from library_books group by stayLibraryHallCode) temp; ...

    distinct 会将所有null视为一项
    group by 将所有null值视为一项
    count 不会计算null值项,count(null)=0

    select count() from (select count() as num from library_books group by stayLibraryHallCode) temp;
    输出结果是3229
    select COUNT(DISTINCT stayLibraryHallCode) from library_books;
    输出结果是3228

    原因就是COUNT(DISTINCT stayLibraryHallCode)中有null值项+0,count(*)中null值项+1,所以结果肯定少1

    展开全文
  • SQL DISTINCT去掉重复的数据统计方法

    千次阅读 2016-09-02 08:29:36
    SQL DISTINCT重复的数据统计方法 group by 重复数据的个数统计 删除重复的数据2008-09-10 16:30DISTINCT 关键字可从 SELECT 语句的结果中除去重复的行。如果没有指定 DISTINCT,那么将返回所有行,包括重复的行。 ...

    SQL DISTINCT重复的数据统计方法 group by 重复数据的个数统计 删除重复的数据2008-09-10 16:30DISTINCT 关键字可 SELECT 语句的结果中除去重复的行。如果没有指定 DISTINCT,那么将返回所有行,包括重复的行。 

    <span style="font-size:14px;">select count(distinct t.destaddr) from nbyd_send t where t.input_time > to_date('2007-2-1','yyyy-mm-dd') and t.input_time < to_date('2007-3-1','yyyy-mm-dd')</span>

    可以统计出一个月中的用户数量。

    select distinct 字段名 from 表名  (去重)


    关于如何快速得知里面每一个号码重复的个数问题的解答:利用分组函数的SQL语句
    select t.tel,count(*) from nbyd_deliver t group by t.tel ;

    group by 解决重复数据的个数统计适用于各种关系型数据库,如oracle,SQL Server

    查询重复的数据
    select * from (select v.xh,count(v.xh) num from sms.vehicle v group by v.xh) where num>1;

    select v.xh,count(v.xh) num from sms.vehicle v group by v.xh having count(v.xh)=2;


    删除重复的数据

    create table mayong as (select distinct* from sms.vehicle);

    delete from sms.vehicle ;

    insert into sms.vehicle select * from mayong;


    在oracle中,有个隐藏了自动rowid,里面给每条记录一个唯一的rowid,我们如果想保留最新的一条记录,我们就可以利用这个字段,保留重复数据中rowid最大的一条记录就可以了。

    下面是查询重复数据的一个例子:

    select a.rowid,a.* from 表名 a
    where a.rowid != (select max(b.rowid) from 表名 b where a.字段1 = b.字段1 and a.字段2 = b.字段2 )



    展开全文
  • SELECT column_name, num_distinct, num_buckets, histogram,(select count(1) from crm_interceptor_log) row_count FROM DBA_TAB_COL_STATISTICS WHERE table_name =UPPER('crm_interceptor_log') AND column_...

    查看字段统计信息SQL:

    SELECT column_name, num_distinct,num_nulls, num_buckets,
    (select count(1) from crm_interceptor_log) row_count
    FROM DBA_TAB_COL_STATISTICS  
    WHERE table_name =UPPER('crm_interceptor_log') 
    AND column_name =UPPER( 'log_time') and rownum<2;
    

    查询结果:

    这里写图片描述

    通过NULL值和DISTINCT值数量给出索引优化建议。

    展开全文
  • 最近一个项目使用了oracle(11g),在编写sql时,要知道数据总条数,可以这么写: select id, v, count(*) over() as num from ( select 1 as id,'a' v from dual union all select 2 as id,'b' v from dual...
  • select distinct * from ( select regexp_substr(q.nums, '[^,]+', 1, Level,'i') order_num, names from ( select '1,2,3' nums, '张三' names from dual union all select '4,5' nums, '李四' names from dua....
  • 方法1:  select * from (select distinct aid from a ) as ... where (select count(1) as num from b where b.bid = c.aid) = 0 方法2: select c.aid from (select distinct aid from a) as c left join
  • 数据库的几种去重方法总结

    万次阅读 2017-06-10 13:56:44
    一、数据库中的去重操作(删除数据库中重复记录的SQL语句)主要有...根据Oracle带的rowid属性,可以进行判断是否存在重复语句; (1)、查出表1和表2中name相同的数据 Select * from table1 a Where rowid !=(sele
  • ORACLE查询删除重复记录三种方法

    万次阅读 2016-11-04 15:34:50
    比如现在有一人员表 (表名:peosons) 若想将姓名、身份证号、住址这三个字段完全相同的记录查询出来  复制代码代码如下: ...and p1.cardid = p2.cardid and p1.pname = p2.pname and p1.add
  • group by与distinct有何区别

    千次阅读 2016-06-14 19:09:37
    select name from rate where channelname is not null group by name; select distinct name from rate
  • Oracle-表分析和索引分析解读

    万次阅读 2017-01-05 22:35:40
    概述当表没有做分析的时候,Oracle 会使用动态采样来收集统计信息。 获取准确的段对象(表,表分区,索引等)的分析数据,是CBO存在的基石,CBO的机制就是收集尽可能多的对象信息和系统信息,通过对这些信息进行计算...
  • 今天是2019年第一天,在此祝大家新年快乐,梦想还在路上,让我们继续加油! 应之前的计划,今天完成这篇记录,也借此记录自己的成长。 一、几个排名函数的语法和用法:  rank ( ) over ([partition by col] ...
  • sql行转列:越简单越好

    千次阅读 2014-04-03 18:36:33
    下图为需求:
  • 15:26:41,681 INFO [DBOperationOfOracle] select table_name, tablespace_name, num_rows from all_tables where owner = CAFFM and tablespace_name is NOT NULL union select distinct table_name,tablespace_
  • rownum 和 distinct 的含义

    千次阅读 2012-07-21 22:37:03
    rownum是oracle系统顺序分配为从查询返回的行的编号,返回的第一行分配的是1,第二行是2,依此类推,这个伪字段可以用于限制查询返回的总行数.oracle在select出一条记录后便加上一个rownum, 而不等所有的结果都select...
  • 视图SYS.USER_TAB_COLS和SYS.USER_TAB_COLUMNS都保存了当前用户的表、视图和Clusters中的列信息。通过检索这两个表,可以方便的获取到表的结构。主要的列属性有: TABLE_NAME 表、视图或Clusters名称 COLUMN_NAME...
  • sql server 与 oracle语法对比.

    千次阅读 2010-04-15 10:20:00
    ORACLE与SQL SERVER语法区别 一、数据类型ORACLE与SQL SERVER在数据类型的对比如下: SQL SERVERORACLE数字类型DECIMAL[(P[, S])]NUMBER[(P[, S])]NUMERIC[(P[, S])]NUMBER
  • SQL DISTINCT、GROUP BY

    千次阅读 2011-05-04 11:38:00
    SQL DISTINCT、GROUP BY
1 2 3 4 5 ... 20
收藏数 15,156
精华内容 6,062
关键字:

distinct num oracle