首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

初哥统计有关问题

2012-02-07 
初哥统计问题单号类别状态1234AA02234BB12364AA01234CC01234DD01256EE12556FF02556GG01147220------------

初哥统计问题
单号               类别           状态
1234               AA                 0
2234               BB                 1          
2364               AA                 0
1234               CC                 0
1234               DD                 0
1256               EE                 1
2556               FF                 0
2556               GG                 0
1147               22                 0
----------------------------
一行等于一件,0代表卖出,1代表退货
结果
销售单数(统计所有单数,有一些单里面有多个商品)           销售数量(统计卖出数量=卖出-退货,类别22是增品,不在统计范围,但计入销售单数)

给果为销售单数与销售数量两列.

[解决办法]
select 单号,类别,sum(case when 状态=0 then 1 else 0 end) 销售数量 from table group by 单号,类别
[解决办法]
select a.a,b.b from (select count(distinct(单号)) as a from #a where 类别 <> '22 ' ) a,(select (select count(*) from #a where 状态= '0 ')-(select count(*) from #a where 状态= '1 ' ) as b) b
[解决办法]
select 销售单数 = (select count(*) from tb) , 销售数量 = (select sum(case when 状态 = 0 then 1 else -1 end) from tb where 类别 <> '22 ')
[解决办法]
select 销售单数=count(*),销售数量=sum(case when 类别= '22 ' then 0
when 状态=0 then 1 else -1 end)
from 表

热点排行