CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  DB2 >  基础类

这样的统计表怎么写SQL?

楼主babyfu(你的亲亲宝贝)2005-05-19 10:54:50 在 DB2 / 基础类 提问

表Detail:  
  日期 卡号 交易类型 返回码  
  0301 001 A 00  
  0301 002 A 01  
  0301 003 A 01  
  0301 004 A 02  
  0301 005 B 02  
  0301 006 B 02  
  0301 007 B 00  
  0301 008 C 00  
  0301 009 C 00  
  0301 010 A 00  
  0301 011 C 00  
  0301 012 B 00  
  0301 013 A 00  
  0301 014 A 00  
  0301 015 A 00  
  0301 016 A 02  
  0301 017 B 02  
  0301 018 B 03  
  0301 019 B 03  
  0301 020 C 03  
  0301 021 A 03  
  0301 022 B 03  
  0301 023 C 03  
  0301 024 C 03  
  0301 025 C 03  
  0301 026 C 03  
  0301 027 C 01  
  0301 028 C 01  
  0301 029 C 01  
   
  其中返回码是00的表示成功,其他都表示失败  
   
  请问如何统计出如下的统计表?  
   
  表Total  
   
  日期 交易类型 总交易量 失败交易量 成功交易量  
  0301 A 10 5                     5  
  0301 B 8 6                     2  
  0301 C 12 8                     4  
   
   
   
  有人建议我在Detail表中加2个字段,就是先从返回码中判断一下成功或失败  
   
  就是这样:  
   
  日期 卡号 交易类型 返回码     成功         失败  
  0301 001 A 00               1                 0  
  0301 002 A 01               0                 1  
  0301 003 A 01               0                 1    
  0301 004 A 02               0                 1  
  0301 005 B 02               0                 1  
   
   
  问题点数:100、回复次数:3Top

1 楼Mr_Bean(笑熬浆糊)回复于 2005-05-19 18:43:07 得分 100

select   日期,   交易类型,count(*)   总交易量,sum(case   返回码   when   '00'   then   1   else   0   end)   成功交易量,sum(case     when     返回码<>'00'   then   1   else   0   end)   成功交易量   from   detail   gorup   by   日期,交易类型  
   
  当然那个建议是最好的处理方法  
  Top

2 楼babyfu(你的亲亲宝贝)回复于 2005-05-20 09:19:25 得分 0

还有一个问题就是要算成功率和失败率,就是用成功笔数除以总笔数、失败笔数除以总笔数得到的数字。。Top

3 楼babyfu(你的亲亲宝贝)回复于 2005-05-20 13:22:42 得分 0

问一个问题:  
  数据只有4行。例如  
   
   
  "0301","001","A","00"  
  "0301","002","A","02"  
  "0301","003","B","00"  
  "0301","004","B","01"  
  "0301","005","C","01"  
   
   
  但是数据库的表却有6行,例如  
  日期 卡号 交易类型 返回码     成功         失败  
  0301 001 A 00               1                 0  
  0301 002 A 01               0                 1  
  0301 003 A 01               0                 1    
  0301 004 A 02               0                 1  
  0301 005 B 02               0                 1  
   
   
  如何用load命令把数据插入数据库的表里面。我查过load的命令,里面有个method,但是好像不知道怎么用。老是提示错误  
  LOAD   QUERY   TABLE   table-name   [TO   local-message-file]  
  [NOSUMMARY   |   SUMMARYONLY]   [SHOWDELTA]  
   
  LOAD   [CLIENT]   FROM   file/pipe/dev/cursor_name   [   {,file/pipe/dev}   ...   ]  
  OF   {ASC   |   DEL   |   IXF   |   CURSOR}  
  [LOBS   FROM   lob-path   [   {,lob-path}   ...   ]   ]  
  [MODIFIED   BY   filetype-mod   [   {filetype-mod}   ...   ]   ]]  
  [METHOD   {L   (   col-start   col-end   [   {,col-start   col-end}   ...   ]   )  
                        [NULL   INDICATORS   (col-position   [   {,col-position}   ...   ]   )]  
                |   N   (   col-name   [   {,col-name}   ...   ]   )  
                |   P   (   col-position     [   {,col-position}   ...   ]   )}]  
   
   
  Top

相关问题

  • 请教一个关于统计表内容的SQL语句的写法,谢谢!!
  • 求怎样生成下面的统计表的sql?急
  • SQL查询问题,按要求GROUP BY以后,列出统计表。
  • 这样的统计表(Tabular)怎么实现呀?
  • 怎么生成交叉统计表??新手问题,100分
  • 统计表
  • SQL查询问题,按要求GROUP BY以后,列出统计表。谢谢。
  • 我想统计表中根据user分组的count,和某一字段a为空的count,我这样写,但提示出错,未找到预期的from,请问怎么回事啊?
  • 我想统计表中根据user分组的count,和某一字段a为空的count,我这样写,但提示出错,未找到预期的from,请问怎么回事啊?
  • 统计表的空间

关键词

  • 交易量
  • 返回码
  • col
  • 成功
  • 失败
  • 表
  • 交易类型
  • 日期
  • lob
  • 笔数

得分解答快速导航

  • 帖主:babyfu
  • Mr_Bean

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo