这样的统计表怎么写SQL?
表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




