企业数据统计分析工作

原创 2011年01月24日 10:30:00

企业数据统计分析工作


declare @tab1 table(ID int,
                    单号 varchar(20),
                    提货日期 datetime,
                    实发数量 decimal(8,1),
                    累计 decimal(8,1))
declare @ID int
declare @提货日期 varchar(20)
declare @实发数量 decimal(8,1)
declare @累计 decimal(8,1)

set @累计=0
declare Num_Cursor CURSOR FOR
 select * from @tab

open Num_Cursor
fetch next from Num_Cursor into @ID,@单号,@提货日期,@实发数量
wile @@FETCH_STATUS=0
begin
 set @累计=@累计+@实发数量
 insert @tab1
 values(@ID,@单号,@提货日期,@实发数量,@累计)
 fetch next from Num_Cursor into @ID,@单号,@提货日期
end

close Num_Cursor

deallocate Num_Cursr

 

 


declare Num_Cursor CURSOR FOR
select * from @tab

open Num_Cursor
fetch next from Num_Cursor into @ID,@单号,@提货日期,@实发数量
while @@FETCH_STATUS=0
begin
 set @累计=@累计+@实发数量
 insert @tab1
 values (@ID,@单号,@提货日期,@实发数量,@累计)
 fetch next from Num_Cursor into @ID,@单号,@提货日期,@实发数量
end

close Num_Cursor
deallocate Num_Cursor

select * from @tab1

 


identity identity

 

select 日期,店铺名,销售量
from DezaiCn_Sale
group by 日期,店铺名,销售量
order by 店铺名

 


select 店铺名,SUM(销售量) as 总销售量
from DezaiCn_Sale
where (店铺名='A') and (日期 between '2008-1-1' and '2008-9-1')
group by 店铺名

 


select SUM(销售量) as 销售总量,日期
from DezaiCn_Sale
where (日期='2008-3-1')
group by 日期

 

 

Create procedure DezaiCnTestSale_SalerCompareSaleByDate /*代理销售产品比较*/
@ProductIDArray varchar(1000),/*产品ID组*/
@begindate datetime,/*比较开始日期*/
@endDate datetime,/*比较结束时间*/
@shop varchar(20)/*店铺名*/

as
 declare @sql varchar(8000)
 set @sql='select 产品ID'

 select @sql=@sql+',max(case Convert(varchar(10),日期,120) when ''''+Convert(varchar(10),日期,120)+'''' then 销售量 else 0 end)['+Convert(varchar(10),日期,120)+']'

from (select distinct 日期 from DezaiCn_Sale where 日期 between @begindate and @endDate) as a


set @sql=@sql+' from DezaiCn_Sale where 产品ID in ('+@ProductIDArray+') and 店铺名=''''+@shop+''''
group by 产品Id'

exec(@sql)
go

select name,sum(score) as ZCJ
 from stuscore
group by name
order by zcj

 

select distinct t1.name,t1.stuid,t2.allscore
from stuscore t1,
     (
      select stuid,sum(score) as allscore
       from stuscore
      group by stuid
      ) t2
where t1.stuid=t2.stuid
order by t2.allscore desc


select t1.stuid,t1.name,t1.subject,t1.score
 from stuscore t1,
      (
       select stuid,max(score) as maxscore
        from stuscore
        group by stuid
      ) t2
where t1.stuid=t2.stuid
      and t1.score=t2.maxscore

 


select distinct t1.stuid,t1.name,t2.avgscore
 from stuscore t1,
      (
       select stuid,avg(score) as avgscore
        from stuscore
        group by stuid
      ) t2
where t1.stuid=t2.stuid
     


select t1.stuid,t1.name,t1.subject,t2.maxscore
 from stuscore t1,
      (
       select subject,max(score) as maxscore
        from stuscore
       group by subject
      ) t2
where t1.subject=t2.subject
      and t1.score=t2.maxscore

 

select distinct t1.*
 from stuscore t1
 where t1.id in(
                select top 2 stuscore.id
                  from stuscore
                 where subject=t1.subject
                 order by score desc
                )
order by t1.subject

 

select stuid as 学号,
       name as 姓名,
       sum(case when subject='语文' then score else 0 end) as'语文',
       sum(case when subject='数学' then score else 0 end) as'数学',
       sum(case when subject='英语' then score else 0 end) as'英语',
       sum(score) as 总分,
       (sum(score)/count(*))as 平均分
 from  stuscore
 group by stuid,name
 order by 总分 desc


select subject,avg(score) as avgscore
 from stuscore
 group by subject


declare @tmp table(pm int,name varchar(50),score int,stuid int)
insert into @tmp
        select null,name,score,stuid
          from stuscore
         where subject='数学'
         order by  score desc
declare @id int
  set @id=0;
update @tmp set @id=@id+1,
                pm=@id
select * form @tmp where name='李四'

 

selecdt subject,
        (select count(*) from stuscore where score<60 and subject=t1.subject) as 不及格,
        (select count(*) from stuscore where score between 60 and 80 and subject=t1.subject) as 良,
        (select count(*) from stuscore where score>80 and subject=t1.subject) as 优秀
from stuscore t1
group subject

 

declare @s varchar(1000)
set @s=''
select @s=@s+','+name+'('+convert(varchar(10),score)+'分)'
 from sutuscore
 where subject='数学'
set @s=stuff(@s,1,1,'')
print'数学:'+@s

 


select a.Description,
       Record_Count=Count(b.ID),
       [Percent]=case
                    when Counts=0 then '0.00%'
                    else cast(cast(count(b.ID)*100./c.counts as decimal(10,2)) as varchar)+'%'
                  end
from(
     select sid=1,a=Null,b=30,Description='<30'
     union all
     select sid=2,a=30,b=60,Description='>30 and <60'
     union all
     select sid=3,a=60,b=75,Description='>=60 and <75
    ) a Left join @t b
             on(b.col<a.b or a.b is null)
                and(b.col>=a.a or a.a is null)
            cross join(select counts=count(*) from @t)c
group by a.Description,a.sid,c.counts
order by a.sid

 


with Form2 do
begin
  for i:=0 to ComponentCount-1 do
     if(Components[i] is TCustomEdit) then
        TCustomEdit(Components[i]).text:=IntToStr(i);
end

 


procedure TForm2.btnClick(Sender:TObject);
var
  sformat:string;
  i,iSum:Integer;
  ObjArray:array of Integer;
  arrayCount:Integer;
  temp:string;
begin
  arrayCount:=0;
  temp:='';
  iSum:=0;

  sformat:=Trim(edt1.Text);
  for i:=1 to Length(sformat) do
  begin
    if sformat[i] in ['0'..'9'] then
    begin
       temp:=temp+sformat[i];
       if(i=Length(sformat)) then
       begin
         Inc(arrayCount);

         SetLength(ObjArray,arrayCount);
         ObjArray[arrayCount-1]:=StrToInt(temp);
       end;
    end else
    begin
      if temp<>'' then
      begin
         Inc(arrayCount);
         SetLength(ObjArray,arrayCount);
         ObjArray[arrayCount-1]:=StrToInt(temp);
         temp:='';
      end;
    end;
  end;
 
  for i:=0 to High(ObjArray) do
  begin
    edt2.text:=edt2.text+'+'+IntToStr(ObjArray[i]);
    Inc(iSum,ObjArray[i]);
  end;

  edt2.text:=RightStr(edt2.Text,(Lenght(edt2.text)-1))+'='+IntToStr(iSum);
end;

 

帆软出品: 7点搞定制药企业数据分析系统开发需求

财务核算在企业日常管理中起着不可代替的作用,为了促进企业内部管理水平的提高,需要及时、准确、全面的财务数据分析作为参考与支撑。鉴于制药企业目前的财务报表层面现状。需要一个能够集中体现企业财务核算状况的...
  • yuanziok
  • yuanziok
  • 2015年12月08日 14:03
  • 2129

企业数据分析分四步走:描述、诊断、预测、指导

谈到数据,大家都喜欢拿大数据说事儿,精准营销、客户管理、企业洞察,但事实上,对于大部分中小型企业来说,把创立至今多少年来各个渠道积攒下来的数据统合到一起,也仅仅只是小数据而已。 这些数据,选用合适的工...
  • liukecun0614
  • liukecun0614
  • 2017年08月04日 09:35
  • 624

中小企业如何搭建数据可视化平台

如今,信息时代正逐步向数据时代转变,数据演变得越来越重要,它可以反映出公司的经营情况,为公司的经营和决策提供准确的参考依据。而数据平台是连接数据和企业的中间件,可以将这些数据通过一定的规格,清晰地展示...
  • nayun123
  • nayun123
  • 2016年10月31日 17:01
  • 1267

高并发.大数据--统计数据--解决方案

一般的公司都需要用到数据统计,一般都是写统计sql,查询交易流水表,就搞定了。在流水记录不太多的情况,这样做没问题;如果交易流水很大,就需要好好设计一下了,下面我们讨论交易数据量很大的情况。 大致思路...
  • liwenjie001
  • liwenjie001
  • 2014年02月26日 15:38
  • 2323

淘宝权重及其大数据分析

在了解该文章的前提下,你要把权重的概念要搞清楚!  大家都很关系自己的宝贝在搜索栏中的自然排名,很多店长抱怨淘宝为什么不公开排序算法?排序算法无法公开。不知道有谁知道百度的排序算法是怎么样的?Goog...
  • zhangchen124
  • zhangchen124
  • 2017年04月19日 11:47
  • 1189

重构大数据统计

大数据丛书 阿里技术丛书 重构大数据统计(阿里巴巴集团技术丛书,大数据丛书。大型互联网公司大数据分析实践经验!大数据分析人员必修必学的内功。基于本书内容开发的数据分析工具已在阿里巴巴集团内部使用,取...
  • broadview2006
  • broadview2006
  • 2014年08月15日 14:33
  • 2297

大数据-2.5亿个数据-统计不重复

2.5亿个数据,统计不重复的数据
  • zcliatb
  • zcliatb
  • 2014年11月07日 01:18
  • 465

大数据实战:用户流量分析系统

本文是结合hadoop中的mapreduce来对用户数据进行分析,统计用户的手机号码、上行流量、下行流量、总流量的信息,同时可以按照总流量大小对用户进行分组排序等。是一个非常简洁易用的hadoop项目...
  • sdksdk0
  • sdksdk0
  • 2016年06月11日 13:14
  • 7168

awk模拟数据库做数据统计

工作中经常处理文本数据,以前经常接触db2数据库,最近在学习awk的过程中发现awk处理数据的强大,可谓无所不能!下面讲的就算awk对sql语句统计数据的模拟。 一、先讲讲sql的单表操作,对应aw...
  • sunny5211
  • sunny5211
  • 2013年01月15日 18:59
  • 1999

[转]青涩的少女心结

秋张曾经是哈利迷俱乐部里人气最高的角色之一。从三年级时初见秋张时,哈利就对她有莫名的好感。上场比赛前,作为对方找球手的秋只是对哈利微微一笑,哈利的心就一阵狂跳。这种好感在四年级的时候升级,哈利总是默默...
  • GnuDoyng
  • GnuDoyng
  • 2005年03月12日 14:48
  • 1323
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:企业数据统计分析工作
举报原因:
原因补充:

(最多只允许输入30个字)