Discussion Locked

liujun

0 helpful
6 replies
Closed to new repliesThis discussion is closed. It stays readable, but it takes no new replies.
blog root

6 replies

by liujun

Sometimes I feel weak,
Sometimes I feel helpless,
and somtimes I feel alone.

I want to change my life,so I will be stroger!

by liujun

<A class=f1>&nbsp; <P>  <b>问:现在也有个数据统计的问题困绕着我。见如下数据,我要得到的是encode在哪几天里没有销售,求SQL语句,要考虑性能问题(表里有几百万条记录,而且每天都在增长)。</b></P> <P>  有如下的数据</P> <P> <TABLE cellSpacing=

by liujun

<A class=f1>&nbsp; <P>  <b>问:现在也有个数据统计的问题困绕着我。见如下数据,我要得到的是encode在哪几天里没有销售,求SQL语句,要考虑性能问题(表里有几百万条记录,而且每天都在增长)。</b></P> <P>  有如下的数据</P> <P> <TABLE cellSpacing=

by liujun

Oracle的数据统计实例
Tags: database  oracle 

 

  问:现在也有个数据统计的问题困绕着我。见如下数据,我要得到的是encode在哪几天里没有销售,求SQL语句,要考虑性能问题(表里有几百万条记录,而且每天都在增长)。

  有如下的数据

sdate     encode   count
--------  -------- ------
2006-1-1  1001     5
2006-1-1  1002     11
2006-1-2  1002     7
2006-1-2  1003     1
2006-1-3  1003     5
2006-1-3  1003     21
2006-1-4  1001     18
2006-1-4  1002     10

  现在想要得到如下形式的数据

sdate     encode
--------  -------
2006-1-2  1001
2006-1-3  1001
2006-1-3  1002

   你可以尝试用以下的方法进行调试: 

create table t(sdate varchar2(10),encode numeric,count numeric)
insert into t values('2006-1-1',1001,5 )
insert into t values('2006-1-1',1002,11)
insert into t values('2006-1-2',1002,7 )
insert into t values('2006-1-2',1003,1 )
insert into t values('2006-1-3',1003,5 )
insert into t values('2006-1-3',1003,21)
insert into t values('2006-1-4',1001,18)
insert into t values('2006-1-4',1002,10)

select
    a.sdate,b.encode
from
    (select distinct sdate  from t) a,
    (select distinct encode from t) b
where
    not exists(select * from t where sdate=a.sdate and encode=b.encode)
order by
    b.encode,a.sdate

 

This discussion is closed to new replies.