分组求和统计,with rollup 、with cube、grouping 统计函数用法
2010-03-30 10:22
302 查看
SQL code
备注:根据输入的2个时间参数,按照库房名称分组求和
入库方法:
SQL code
出库方法:
SQL code
SQL code
CREATE TABLE [kc1] ( [djrq] [smalldatetime] NULL , [djlx] [nvarchar] (20), [kfmc] [nvarchar] (50), [hpmc] [nvarchar] (50), [zl] [float] NULL ) GO insert into kc1 select '2010-03-20','初始库存','半成品','玉米','11' insert into kc1 select '2010-03-20','初始库存','半成品','豆粕','22' insert into kc1 select '2010-03-20','初始库存','半成品','鱼粉','33' insert into kc1 select '2010-03-21','初始库存','原料','玉米','1' insert into kc1 select '2010-03-21','初始库存','原料','豆粕','2' insert into kc1 select '2010-03-22','原种入库','半成品','玉米','11' insert into kc1 select '2010-03-22','原种入库','半成品','豆粕','22' insert into kc1 select '2010-03-22','种子入库','半成品','猪预混料','6' insert into kc1 select '2010-03-25','原种入库','预混料','猪预混料','2' insert into kc1 select '2010-03-26','原种出库','半成品','豆粕','-6' insert into kc1 select '2010-03-26','原种入库','销售仓库','玉米','11' insert into kc1 select '2010-03-26','种子出库','半成品','猪预混料','-1' insert into kc1 select '2010-03-26','原种入库','原料','豆粕','5' insert into kc1 select '2010-03-26','原种出库','原料','豆粕','-1' /* 求2个时间段:2010-03-20至2010-03-26 要得到这样的报表: 库房名称 起始时间 入库 出库 结余数量 kfmc djrq zl zl zl 半成品 2010-03-20 39 -7 98 销售仓库 2010-03-20 11 0 11 预混料 2010-03-20 2 0 2 原 料 2010-03-20 5 -1 7 */
备注:根据输入的2个时间参数,按照库房名称分组求和
入库方法:
SQL code
SELECT kfmc, SUM(zl)AS 入库 FROM kc1 where djlx like '%入库%' group by kfmc
出库方法:
SQL code
SELECT kfmc, SUM(zl)AS 出库 FROM kc1 where djlx like '%出库%' group by kfmc
SQL code
结余数量: select kfmc,sum(zl) from kc1 group by kfmc
CREATE TABLE [kc1] ( [djrq] [smalldatetime] NULL , [djlx] [nvarchar] (20), [kfmc] [nvarchar] (50), [hpmc] [nvarchar] (50), [zl] [float] NULL )GO insert into kc1 select '2010-03-20','初始库存','半成品','玉米','11' insert into kc1 select '2010-03-20','初始库存','半成品','豆粕','22' insert into kc1 select '2010-03-20','初始库存','半成品','鱼粉','33' insert into kc1 select '2010-03-21','初始库存','原料','玉米','1' insert into kc1 select '2010-03-21','初始库存','原料','豆粕','2' insert into kc1 select '2010-03-22','原种入库','半成品','玉米','11' insert into kc1 select '2010-03-22','原种入库','半成品','豆粕','22' insert into kc1 select '2010-03-22','种子入库','半成品','猪预混料','6' insert into kc1 select '2010-03-25','原种入库','预混料','猪预混料','2' insert into kc1 select '2010-03-26','原种出库','半成品','豆粕','-6' insert into kc1 select '2010-03-26','原种入库','销售仓库','玉米','11' insert into kc1 select '2010-03-26','种子出库','半成品','猪预混料','-1' insert into kc1 select '2010-03-26','原种入库','原料','豆粕','5' insert into kc1 select '2010-03-26','原种出库','原料','豆粕','-1' select [kfmc],min([djrq]), sum(case when charindex('入库',djlx)>0 then zl else 0 end) '入库', sum(case when charindex('出库',djlx)>0 then zl else 0 end) '出库', sum(zl) zl from kc1 group by [kfmc] kfmc 入库 出库 zl -------------------------------------------------- ----------------------- ---------------------- ---------------------- ---------------------- 半成品 2010-03-20 00:00:00 39 -7 98 销售仓库 2010-03-26 00:00:00 11 0 11 预混料 2010-03-25 00:00:00 2 0 2 原料 2010-03-21 00:00:00 5 -1 7 (4 行受影响)
select isnull([kfmc],'总计') [kfmc],min([djrq]), sum(case when djlx like '%入库%' then zl else 0 end) '入库', sum(case when djlx like '%出库%' then zl else 0 end) '出库', sum(zl) zl from kc1 where [djrq] between '2010-03-20' and '2010-03-26' group by [kfmc] with rollup kfmc 入库 出库 zl -------------------------------------------------- ----------------------- ---------------------- ---------------------- ---------------------- 半成品 2010-03-20 00:00:00 39 -7 98 销售仓库 2010-03-26 00:00:00 11 0 11 预混料 2010-03-25 00:00:00 2 0 2 原料 2010-03-21 00:00:00 5 -1 7 总计 2010-03-20 00:00:00 57 -8 118 (5 行受影响)
相关文章推荐
- sql中 with rollup 、with cube、grouping 统计函数用法
- sql中 with rollup 、with cube、grouping 统计函数用法
- sql中 with rollup 、with cube、grouping 统计函数用法
- sql中 with rollup 、with cube、grouping 统计函数用法
- GROUPING …. WITH ROLLUP 做分组汇总 统计(转)
- (转)GROUPING …. WITH ROLLUP 做分组汇总 统计 (T-SQL)
- (转)GROUPING …. WITH ROLLUP 做分组汇总 统计 (T-SQL)
- GROUPING …. WITH ROLLUP 做分组汇总 统计(转)
- with rollup 、with cube、grouping 统计函数用法
- 数据需求统计常用shell命令---AWK分组求和,分组统计次数
- Storm累计求和中使用各种分组Grouping
- Sql学习第四天――SQL 关于with cube,with rollup和grouping解释及演示
- Sql学习第四天――SQL 关于with cube,with rollup和grouping解释及演示
- awk分组求和分组统计次数
- Lucene聚类分组统计功能(grouping)
- Stream流分组,统计,求和
- Oracle函数over(),rank()over()作用及用法--分区(分组)求和& 不连续/连续排名
- sql中 with rollup 、with cube、grouping 统计函数用法
- SQL Server关于WITH CUBE、WITH ROLLUP和GROUPING使用
- mybatis按照关键字(符号)截取字符串,字符串拼接,循环查询语句,分组求和函数用法