zoukankan      html  css  js  c++  java
  • 分组求和统计,with rollup 、with cube、grouping 统计函数用法

    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 行受影响)
  • 相关阅读:
    Tree Restoration Gym
    Game HDU
    Codeforces Gym 191033 E. Explosion Exploit (记忆化搜索+状压)
    listview去掉条目间的分割线
    listview设置条目点击的时候不变色(让状态选择器不起作用)
    url拼凑示例(具体拼凑规则由服务器定)
    格式化一个文件的大小(size),或者说是格式化一个app的大小(size)
    ratingbar设置不可调节星星数量
    listview的条目(item)如何做出卡片效果
    安卓网络权限异常
  • 原文地址:https://www.cnblogs.com/ghd2004/p/1700322.html
Copyright © 2011-2022 走看看