oracle 添加小计,合计 5C

查询的sql

最终效果

大神求助

4个回答

 (select name, x, y, z, (x + y+ z) as 小计 from 表)
union
(select "合计"as name, sum(x) as x, sum(y) as y, sum(z) as z, (sum(x) + sum(y)+ sum(z)) as 小计 from 表)
detect_love
热心的人 我以前合计也是用的union all
大约一年之前 回复

举例说明:select t_year,t_month, sum(quantity) qty from test_group_table group byrollup(t_year,t_month)

增加一个伪列不就可以了

楼主指的合计是指的以列计算还是行呢?哪些列和行?

qq_37601275
毛小屁 一个是按项目类型求后面几列的和,一个是按公司,事业部,品种,建设年份求后面几列的和
大约一年之前 回复
qq_37601275
毛小屁 上面标了小计,求列的和
大约一年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Oracle 实现小计、合计
方法一:group by rollup实现小计、合计 select decode(grouping(to_char(rownum)),1,'合计',to_char(rownum)), a.clientaccnumber, a.clientaccount, sum(a.amount), a.contract_number from (s...
oracle展现明细加小计合计
A 1 100 rn rnA 2 111 rn rnA 3 99 rn rn小计 310 rn rnB 1 100 rn rnB 2 110 rn rnB 3 90 rn rn小计:300 rn rn合计:610
小计和合计报表
小计和合计报表 在生成包含小计和合计的报表时,ROLLUP 运算符很有用。ROLLUP 运算符生成的结果集类似于 CUBE 运算符生成的结果集。下面是 CUBE 和 ROLLUP 之间的具体区别: CUBE 生成的结果集显示了所选列中值的所有组合的聚合。 ROLLUP 生成的结果集显示了所选列中值的某一层次结构的聚合。 例如,简单表 Inventory 包含下列...
小计及合计的问题?
原表:rn公司 类别 产品 数量 rn gs1 lb1 cp1 10rn gs1 lb1 cp2 10rn gs1 lb2 cp3 10rn gs1 lb2 cp4 10rn gs2 lb1 cp5 10rn gs2 lb1 cp6 10rn gs2 lb2 cp7 10rn gs2 lb2 cp8 10rnrn要求: rn公司 类别 产品 数量 rn gs1 lb1 cp1 10rn gs1 lb1 cp2 10rn gs1 lb1小计 20rn gs1 lb2 cp3 10rn gs1 lb2 cp4 10rn gs1 lb2小计 20rn gs1合计 40rn gs2 lb1 cp5 10rn gs2 lb1 cp6 10rn gs2 lb1小计 20rn gs2 lb2 cp7 10rn gs2 lb2 cp8 10rn gs2 lb2小计 20rn gs2合计 40rn 总计 80rn请各位高手指点。
sql小计合计问题
SELECT CAST(s.Year AS VARCHAR) +'年'+rn CAST(s.Month AS VARCHAR)+'月',rn tmp.quarterrnFROM dbo.s_SalesBudget s INNER JOIN dbo.p_tmp tmp ON s.Month=tmp.monthrnWHERE YEAR = '2009'rnGROUP BY s.Month,YEAR,tmp.quarterrnORDER BY s.Month rn根据quatrter进行小计,最后所以合计rnyear quatrterrn2009年1月 1rn2009年2月 1rn2009年3月 1rn2009年4月 2rn2009年5月 2rn2009年6月 2rn2009年7月 3rn2009年8月 3rn2009年9月 3rn2009年10月 4rn2009年11月 4rn2009年12月 4
小计合计的排序问题
表T1 rnID ClassB class rn1 办公费 打印耗材 rn2 办公费 书报费 rn3 车辆费 维修费 rnrn表T2 rnID class danwei feiyong rn1 打印耗材 人力部 210.00 rn2 维修费 生产部 300.00 rn3 维修费 生产部 210.00 rn4 书报费 经营部 360.00 rn5 打印耗材 生产部 230.00 rn6 书报费 经营部 380.00 rn7 书报费 人力部 330.00 rn8 书报费 经营部 110.00 rnrn生成这样的查询结果: rnclassB class 人力部 生产部 经营部 合计 rn 打印耗材 210 230 0 440 rn办公费 rn 书报费 330 0 470 800 rn 小计: 540 230 470 1240 rnrn车辆费 维修费 0 510 0 510 rn 小计 0 510 0 510 rnrn总计 540 740 470 1750 rnrnSQL查询得到如下结果rnSelect a.classb,a.class,rn人力部 =sum(case when b.danwei = '人力部' then feiyong else 0 end),rn生产部 =sum(case when b.danwei = '生产部' then feiyong else 0 end),rn经营部 =sum(case when b.danwei = '经营部' then feiyong else 0 end),rn合计=sum(feiyong)rnfrom T1 arnjoin t2 b on a.class = b.classrngroup by a.classb,a.classrnwith rolluprnorder by case when grouping(a.classb) = 1 then 99999 end,2rn--Result:rn/*rnclassb class 人力部 生产部 经营部 合计 rn------ ----- ---------------------------------------- ---------------------------------------- ---------------------------------------- ---------------------------------------- rn办公费 NULL 540.00 230.00 850.00 1620.00rn车辆费 NULL .00 510.00 .00 510.00rn办公费 打印耗材 210.00 230.00 .00 440.00rn办公费 书报费 330.00 .00 850.00 1180.00rn车辆费 维修费 .00 510.00 .00 510.00rnNULL NULL 540.00 740.00 850.00 2130.00rnrn(所影响的行数为 6 行)rnrnrn如何才能实现按表T1中的ID降序和T2中的ID降序排序上面的查询?rn
关于小计和合计的问题?
我想实现的是 按各个部门先统计,然后一个部门统计完后有个小计,等所有的部门都统计完了,就显示合计信息.rn比如表A中的内容rnId DeptName Money rn1 综合部 1000rn2 技术部 1500rn3 综合部 2000rn4 综合部 1500rn5 技术部 500rnrn我想实现的效果如下:rn1 综合部 1000rn2 综合部 2000rn3 综合部 1500rn 小计 4500rn4 技术部 1500rn5 技术部 500rn 小计 2000rn 总计 6500rnrn这个功能该如何用gridview展现出来,或用dev Express展现出来(最好给出代码),非常感谢!在线等。rn
sql 查询数据小计 合计
SELECT   SUM (AMOUNT), ndate, customer_name    FROM   (SELECT   *              FROM   V_JK_DEBT_CUSTOMER_SUB             WHERE       customer_vip = 1                     AND status = '正常'             
Rave的小计与合计
数据的明细列中有一计算字段,在分组中与报表合计中怎么对其计算小计与合计呢?
cognos页面小计合计
cognos页面处理方案 本页小计 1.在查询中加入一个数据项,内容为:running-count(1) 2.在查询中加入一个数据项,内容为 if ( mod([数值],20)=0 ) then ( floor([数值]/20)-1 ) else ( floor([数值]/20) ) —我的 if ( mod(running-count(1),20)=0 ) then...
小计、合计问题
表T1 rnID ClassB class rn1 办公费 打印耗材 rn2 办公费 书报费 rn3 车辆费 维修费 rnrn表T2 rnID class danwei feiyong rn1 打印耗材 人力部 210.00 rn2 维修费 生产部 300.00 rn3 维修费 生产部 210.00 rn4 书报费 经营部 360.00 rn5 打印耗材 生产部 230.00 rn6 书报费 经营部 380.00 rn7 书报费 人力部 330.00 rn8 书报费 经营部 110.00 rnrn想生成这样的查询结果: rnclassB class 人力部 生产部 经营部 合计rn 打印耗材 210 230 0 440rn办公费 rn 书报费 330 0 470 800rn 小计: 540 230 470 1240rnrn车辆费 维修费 0 510 0 510rn 小计 0 510 0 510rnrn总计 540 740 470 1750rnrnrnrn应该怎样写SQL查询?
JTable 小计 合计行
如何在JTable底部加一行,实现对应列数字的小计及合计
小计与合合计
一张表有如下字段rngysmc(供应商名称),clmc(材料名称),sl(数量)rn我想得到如下效果。rnrn公司一 ,材料1,20rn公司一,材料2,10rn公司一     30rn公司二,材料1,5rn公司二    5rnrn怎样写sql 语句呀?谢谢了。
小计合计递归
RC RN num rn440203 广东韶关武江区 2 rn440201 广东韶关浈江区 1 rn4402 广东韶关市 3 rn440132 广东广州萝岗区 1 rn440131 广东广州南沙区 2 rn4401 广东广州市 4 rn44 广东省 7 (3+4)rnrn其中4402没有记录,所以4402显示的是2(440201)+1(440203),4401有1条记录,所以4401显示的是1+1(440132)+2(440131)rnrn请问怎么实现?
如何实现小计和合计
有两张表:产品基本资料表(CPJBZL),库存表(KC)rn其表的结构如下:rn产品基本资料表(CPJBZL):rn cpdm(产品代码) cpmc(产品名称) cpcd(产品长度)rn001 A 0.1rn002 A 0.2rn003 B 0.1rn004 B 0.3rn005 B 0.6rn006 C 0.1rnrn库存表(KC):rn scph(生产批号) cpdm(产品代码) kcsl(库存数量)rn1 001 100rn2 001 200rn3 001 300rn4 002 400rn5 002 500rn6 003 600rn7 003 700rn8 003 800rn9 004 900rn10 004 1000rnrn我要得到如下的数据:rn rncpdm(产品代码) 产品规格(由“产品名称” 和“长度”组合而成) kcsl(库存数量)rn001 A-0.1 600 (100+200+300)rn002 A-0.2 900 (400+500)rn小计: 名称为 A 的产品 1500(100+200+...+500)rn003 B-0.1 2100(600+700+800)rn004 B-0.3 1900(900+1000)rn小计: 名称为 B 的产品 4000(600+700+...+1000)rn合计: 5500(100+200+...+1000)rnrn说明:要得到上面的数据其实是要进行两次的分组求和,其中的一次的分组求和是在库存表(KC)中按产品代rn 码(cpdm)进行的,可以得到:rncpdm(产品代码) 产品规格(由“产品名称” 和“产品长度”组合而成) kcsl(库存数量)rn001 A-0.1 600 (100+200+300)rn这样的数据;rn而另一次的分组求和是在库存表(KC)中按产品名称(cpmc)进行的,可以得到:rn小计: 名称为 A 的产品 1500(100+200+...+500)rn这样的数据。rnrn但我不懂得要如何才能把两次分组求和的数据放在同一个数据集中。rn请问要求得上述的数据,能不能由SQL语句得到。如果可以请帮忙写个SQL语句。谢谢
小计及合计sql的问题?
有一表aae有如下數據:rnrnname1 name2 qtyrnaaa b 30rnaaa gg 20rnbbb d 10rnbbb f 50rnaaa b 30rnaaa f 50rn......................rnrn要求用一條sql得到如下結果:rnrnname1 name2 qtyrnaaa b 30rnbbb b 30rn b小計 60rnaaa f 50rnbbb f 50rn f小計 100rnaaa gg 20rn gg小計 20rnbbb d 10rn d小計 10rnaaa合計 130rnbbb合計 100rn總累計 190rnrnrn謝謝了rn
分组中小计的合计问题
举例:以字段A分组,分组小计计算公式compute_1:sum(B)/A记录如下rn记录行 A B Crn1 30 28 1rn2 30 2 1rn分组1小计值:1 rn3 32 32 1rn分组2小计值:1rn4 36 36 1rn分组3小计值:1rnrn要求合计:3rnrn如何实现?rnrn rn
水晶报表,按条件小计,合计
[img=http://img.photo.163.com/3BqFQOwDuK4pqljjy_VJJA==/2955205780485196732.jpg][/img]rn怎么通过公式字段或其它办法得到图中的小计??
水晶报表小计和合计的问题,附图。
问题1:合计在小计上面。rn2:详细节和页脚的空白太宽了。rn请大家帮我解决,在此感谢。rn[img=http://pzh163.com/a.png][/img]rn[img=http://pzh163.com/b.png][/img]rn说明一下,我是用的VS2008+自带的水晶报表。
如何实现水晶报表 小计与合计
假如数据表如下rn表Arn字段 a1,a2,a3rn要显示成这样rn第一页rn 序号 A1的值 A2的值 A3的值rn 1 asd 32 dasdrn 2 asd 43 dasdrn 小计 *** 75 ***rn第二页rn 序号 A1的值 A2的值 A3的值rn 3 asd 45 dasdrn 4 asd 43 dasdrn 小计 *** 88 ***rn 总计 *** 163 ***rn应该怎么去做。rn前面的值我都弄出来了。只是那小计我知道清楚放哪里,如果放在页尾 它就跟上面的详细连不起来了。rn如果放在报表尾。如果数据有2页,第一页就不会有小计。rn总计我知道是放在报表尾;主要想知道一下小计应该放在那里。如何做。请详细说下。第一次用这水晶报表
求一条小计、合计的SQL。
有一个ACCESS表: rn年月(ny)  数量(sl)  名称(mc)所属单位(dw)rn---------------------------------------------------------- rn2006-1-1 11 a qwrn2006-2-1 39 a qwrn2006-3-1 40 a qwrn2007-1-1 12 a qwrn2007-2-1 35 a qwrn2007-3-1 18 a qwrn2006-1-1 13 b qwrn2006-2-1 35 b qwrn2006-3-1 46 b qwrn2007-1-1 72 b qwrn2007-2-1 8 b qwrn2007-3-1 17 b qwrn2007-1-1 72 c zxrn2007-2-1 8 c zxrn2007-3-1 17 c zxrn2006-1-1 13 c zxrn2006-2-1 35 c zxrn2006-3-1 46 c zxrn2007-1-1 72 c zxrn2007-2-1 8 c zxrn2007-3-1 17 c zxrnrn想按所属单位分组求和,用一条SQL语句求今年3月的SL、2月的SL、1-3月的累计SL以及去年3月的SL、2月的SL、1-3月的累计SL,请各位高手帮忙!得到如下表,怎么做: rn  mc sL rn a 100 rn b 190 rn 小计 190 rn c 150 rn 小计 150 rn 合计 340 rn
还是一个小计及合计的问题?
原表:rn提货单位 品种等级 编号 数量 单价 付款方式rn aaa p2-2 4001 10 10 现金rn aaa p2-2 4001 12 10 现金rn aaa p3-2 4002 10 20 现金rn bbb p2-2 4001 20 10 预付rn bbb p2-2 4001 10 10 预付rnrnrn要求:rn提货单位 品种等级 编号 数量 单价 付款方式rn aaa p2-2 4001 22 10 现金rn aaa p3-2 4002 10 20 现金rn 小计 32rn bbb p2-2 4001 20 10 预付rn 小计 30rn 合计 62rnrn请各位高手指点。
其他小计的合计问题(80分)
有如下数据rnrn产品 数量rn--------------------------rnA 105rnB 260rnC 150rnA 114rnD 320rnA 209rnC 303rnB 220rnE 90rnF 170 rnC 80rnE 118rnrn现需要计算A,B两类数量合计,同时计算非A,B类数量合计,结果表如下rnrn产品 数量rn--------------------rnA 428rnB 480rn其他 1231 rn合计 2139rnrn其中A,B两类可以用户指定, SQL语句该如何写
求助如何SQL语句中添加小计、合计
由rnSELECT rn BRAND_NAME AS 品牌, rn PRODUCT_NAME AS 卷烟名称, rn SUM(a.SALES_NUM_Z / 10000) AS [销售数量(万支)], rn SUM(a.SALES_AMT / 10000) AS [销售金额(万元)] rnFROM SL_SL_COMPANYPDTMONTH a rn INNER JOIN CD_PT_PRODUCT b ON a.PRODUCT_ID = b.PRODUCT_ID rn INNER JOIN CD_PT_BRAND c ON b.BRAND_ID = c.BRAND_ID rnWHERE MONTH_ID = 200809 rnGROUP BY BRAND_NAME, PRODUCT_NAME rnORDER BY 品牌, 卷烟名称rnrn查询得到:rnrn品牌 卷烟名称 销售数量(万支) 销售金额(万元)rn一品梅 一品梅(世纪红) 0 0.0000000000000000000rn一品梅 一品梅(佳品) 0 0.0000000000000000000rn七匹狼 七匹狼(枣红) 0 0.0000000000000000000rn七匹狼 七匹狼(枣红新) 0 0.0000000000000000000rn七匹狼 七匹狼(红) 101 63.5125000000000000000rn七星 七星(硬盒) 0 0.0000000000000000000rn万宝路 万宝路(硬) 0 0.0000000000000000000rn万宝路 万宝路(软) 6 4.2090000000000000000rnrn想通过修改以上SQL语句,添加小计、合计,格式如下:rnrn品牌 卷烟名称 销售数量(万支) 销售金额(万元)rn一品梅 一品梅(世纪红) 0 0.0000000000000000000rn一品梅 一品梅(佳品) 0 0.0000000000000000000rn 小计 0 0.0000000000000000000rn七匹狼 七匹狼(枣红) 0 0.0000000000000000000rn七匹狼 七匹狼(枣红新) 0 0.0000000000000000000rn七匹狼 七匹狼(红) 101 63.5125000000000000000rn 小计 101 63.5125000000000000000rn七星 七星(硬盒) 0 0.0000000000000000000rn 小计 0 0.0000000000000000000rn万宝路 万宝路(硬) 0 0.0000000000000000000rn万宝路 万宝路(软) 6 4.2090000000000000000rn 小计 6 4.2090000000000000000rn合计 合计 107 67.721000000000000000rnrn请哪位高手帮忙解答啊。rn
我要在oracle中做小计和合计,表格为:
有如下数据:rnA B Crna aaa 10rna aaa 20rna bbb 30rna bbb 40rnaa ccc 50rnaa ccc 60rnaa ddd 70rn要统计为:rn如下格式:rnA B Crna aaa 10rna aaa 20rn小计 30rna bbb 30rna bbb 40rn小计 70rnaa ccc 50rnaa ccc 60rn小计 110rnaa ddd 70rn小计 70rn合计 280rnrn该如何做呢?rn请大家帮忙!!!!rnrn
怎样计算“日小计”、“月小计”、“年合计”
比方说:有张表——收费记录rnrn 时间datetime 金额decimal(10,2)rn2002.3.12 3:00:12 50.00rnrn怎样计算“日小计”、“月小计”、“年合计”rnrndw实现??rnsql实现???rnrn
oracle:sql添加合计语句(union)
原表见下图: 查询全部的语句: SELECT * from BD_MARK_WHEIGHT_EQUIPMENT 添加合计: SELECT * from BD_MARK_WHEIGHT_EQUIPMENT UNION SELECT '','合计','','','',to_char(sum(PLUS)),to_char(sum(REDUCE)),'',sum(plus) from BD_MAR...
关于rollup进行小计、合计的问题
selectrncase rn when (grouping(ssdept)=1) then '全区'rn else isnull(ssdept,'')rnend as ssdept,rncase rn when (grouping(zl)=1) then '小计'rn else isnull(zl,'')rn rnend as zl,rnsum(fsmoney) as fsmoney ,sum(shmoney) as shmoney ,sum(tkmoney) as tkmoney,sum(jy) as jy from t_lururn where tj='已提交' and fsdate between '2008-01-01' and '2008-05-31' rn group by ssdept,zl with rollup;rn哪位高手能指点一下,我希望在zl列的中间出现‘小计’,在最后出现‘合计’。rn在线等待,解决后直接给分rn谢谢了
如何自动计算DataGrid的小计,合计?
有Datagrid1rnpro_id pro_price(模板列) pro_amount(模板列) totalmoney(小计)rn 1 文本框 文本框 rn 2 文本框 文本框 rn 5 文本框 文本框 rn在页面上放了一个LABEL;合计总金额rn当在文本框输入数值时,自动统计小计和合计金额.rn请问大家是怎样实现的.谢谢大家
关于gridview 合计及小计(在线等待.....)
在web中 把数据绑定gridview 上rn实现 如下格式rn名称 数据 单价 金额 rn a b c drna c d frn小计 b+c (c+d)/2 d+frnbc d c frnbc c e hrn小计 d+c (c+e)/2 f+hrn总计 b+c+d+c d+f+f+hrn请大家帮忙,rn谢谢
怎么用fastreport实现小计和合计?
比如下图:rn站点 销售员 销售量rn---------------------------rnstation1 saler1 100.00rn saler2 150.00rn小计: 350.00rn---------------------------rnstation2 saler3 200.00rn saler4 255.00rn saler5 50.00rn小计: 505.00rn--------------------------rn合计: 855.00rnrn我刚用delphi,不会做,谢谢各位高手rn
sql 实现报表的小计和合计,datagridview显示
sheet的 表字段:sheet_id,made_datern produce_bear 表 的字段:sheet_id,bear_qrnsheet_id 的字段是‘年’-’月‘-‘日’rn想按照月份小计,最后一年合计rn我写得sql是:select case when grouping(left(right(p.sheet_id,7),2))=1 then '合计' else left(right(p.sheet_id,7),2) end 月份,case when grouping (p.sheet_id)=1 and grouping (left(right(p.sheet_id,7),2))=0 then '小计' else p.sheet_id end 单号,max(p.meterial_id),max(t.made_date) ,sum(bear_q) as 啤数 from produce_bear p inner join sheet t on t.sheet_id=p.sheet_id where p.meterial_id='02100330000109' group by left(right(p.sheet_id,7),2),p.sheet_id with rollup rn结果显示为:rn月份 sheet_id meterial_id made_date bear_qrn2 2011-02-0001 021001 2011-02-05 100rn2 2011-02-0002 021001 2011-02-06 100rn2 2011-02-0003 021001 2011-02-07 100rn2 小计 021001 2011-02-07 300rn3 2011-03-0001 021001 2011-03-05 23 3 2011-03-0002 021001 2011-03-07 100rn3 小计 021001 2011-03-07 123rn合计 null 021001 2011-03-07 423rnrn想在小计和合计那里就显示,meterial_id 和bear_q,不显示sheet_id,made_daternrn
求一存储过程分类小计、合计
[url=http://topic.csdn.net/u/20101211/18/8923fb2f-b8be-4b85-ba51-0f35f3c0affc.html?seed=1511394456&r=70522368#r_70522368][/url]
SQL如何求合计,不要小计
oracle 如何写SQL 得到下面的结果?rnrnA B C Drna b 5 2rnw b 1 3rnx x 3 1rn合计 9 6
asp.net gridview 插入小计,合计行
有两个数据表,分别是mx,lyb rnmx是一些物品的明细数据,部分字段如下rndm(代码,唯一),lb(大类),xlb(小类别),pp(品牌),xh(型号)rnrnlyb是部门领用的记录,部分字段如下rndm(与mx中的dm)对应,lysl(领用数量,bm(领用部门)rnrn 现在想要把两个表连接起来,并根据部门的每个领用物品进行汇总,比如在一段时间内,rna部门领了多少个xh的物品(最后加条合计)rnrn 如果根据xh来汇总,还要对部门进行小计。然后再合计。rn最后绑定到gridview中,gridview的字段暂时可以设置为部门,大类,小类,品牌,型号,领用数量
求助SQL列转行以及合计小计问题
[img=https://img-bbs.csdn.net/upload/201310/24/1382603288_708496.jpg][/img]rnrnrnrn求帮助此语句怎么写,原始表如下,语句如下:rndeclare @sql varchar(8000)rnset @sql = 'select fName as ' + 'fname'rnselect @sql = @sql + ' , max(case size when ''' + size + ''' then color else 0 end) [' + size + ']'rnfrom (select distinct size from #lj_temp2) as arnset @sql = @sql + ' from tb group by fname'rnexec(@sql) rn执行完毕后报错 rn 消息 245,级别 16,状态 1,第 3 行rn在将 varchar 值 '' then color else 0 end) [' 转换成数据类型 int 时失败。rn[img=https://img-bbs.csdn.net/upload/201310/24/1382603471_454006.jpg][/img]
求数据库查询小计和合计语句!!在线等~~
查询出所有物料的入出库信息,并且对物料进行小计,最后加上合计日期为空请用NULLrnrnWL_WLID, WL_MC,WL_JLDW, KC_JZRQ, moneyrnWL0001 物料一 台 2005-08-01 40 rnWL0001 物料一 台 2005-08-02 20 rnWL0001 物料一 台 2005-08-03 100 rnWL0001 小计 NULL 160 rnWL0002 物料二 只 2005-08-01 10 rnWL0002 物料二 只 2005-08-01 25 rnWL0002 小计 NULL 35rnWL0003 物料三 米 2005-08-01 5 rnWL0003 小计 null 5 rn合计 200 rnrnrn我希望查出来的效果如上,sql语句怎么写啊???请高手帮忙!!
怎样在sqlserver2005中实现小计、合计
用存储过程或其他方式实现小计和合计的报表统计,提供思路也行,前台展示我用的是GridView,在后台代码或控件中操作也行,谢了rn例:表table1rnid orderNo standardTime amount productNo rn1 20090101 8 20 001rn2 20090101 6 30 002rn3 20090101 10 50 003rn .rn .rn .rn4 20090102 8 50 004rn5 20090102 12 30 005rn6 20090102 10 10 006rn .rn .rn .rn先分别统计orderNo 为20090101、20090102... 的standardTime*amount 的小计rn然后统计所有orderNo 的standardTime*amount 德合计rn如下:rnrnid orderNo standardTime amount productNo perTotalrn1 20090101 8 20 001 160rn2 20090101 6 30 002 180rn3 20090101 10 50 003 500rn小计 840 rn .rn .rn4 20090102 8 50 004 400rn5 20090102 12 30 005 360rn6 20090102 10 10 006 100rn小计 860rn .rn .rn .rnrn合计 1700
SQL小计,总计,合计问题解决求大神
[code=sql] SELECT CASE WHEN ( GROUPING(d.name) = 1 ) THEN '总计' ELSE '# ' END AS [合计] ,rn d.Name [商品] ,rn c.Name [省份] ,rn SUM(a.Numer) [小计] ,rn SUM(CASE WHEN DATEDIFF(year, b.Birthday, GETDATE()) BETWEEN 0 AND 18rn THEN Numerrn ELSE 0rn END) '0-18岁' ,rn SUM(CASE WHEN DATEDIFF(year, b.Birthday, GETDATE()) BETWEEN 18 AND 38rn THEN Numerrn ELSE 0rn END) '18-38岁' ,rn SUM(CASE WHEN DATEDIFF(year, b.Birthday, GETDATE()) BETWEEN 38 AND 50rn THEN Numerrn ELSE 0rn END) '38-50岁' ,rn SUM(CASE WHEN DATEDIFF(year, b.Birthday, GETDATE()) BETWEEN 50 AND 200rn THEN Numerrn ELSE 0rn END) '50岁以上'rn FROM dbo.ISS_Main_OrderInfo arn LEFT JOIN dbo.ISS_Base_Customer b ON a.ISS_Base_Customer_PKID = b.PKIDrn LEFT JOIN dbo.ISS_System_Province c ON b.ISS_System_Province = c.PKIDrn LEFT JOIN dbo.ISS_Base_Commodity d ON a.ISS_Base_Commodity_PKID = d.PKIDrn GROUP BY d.Name ,rn c.Name rn WITH ROLLUP[/code]rnrn[img=https://img-bbs.csdn.net/upload/201608/09/1470706948_650481.png][/img]
使用RollUp小计合计功能排序的问题
rn[code=sql]rnSELECT rn CASE rn WHEN GROUPING(U_Parent)=1 THEN '总计'rn WHEN GROUPING(DepartID)=1 THEN '小计'rn ELSE U_Name END AS U_Name,rn T_Abroad=SUM(T_Abroad),rn T_AbroadNow=Sum(T_AbroadNow),rn T_AbroadLast=Sum(T_AbroadLast),rn T_AbroadAdd=case when Sum(T_AbroadNow)=0 then 0 else (Sum(T_AbroadNow)-Sum(T_AbroadLast))/Sum(T_AbroadNow)*100 end,rn T_AbroadNowTotle=sum(T_AbroadNowTotle),rn T_AbroadLastTotle=sum(T_AbroadLastTotle), rn T_AbroadTotleAdd=case when Sum(T_AbroadNowTotle)=0 then 0 else (Sum(T_AbroadNowTotle)-Sum(T_AbroadLastTotle))/Sum(T_AbroadNowTotle)*100 end,rn T_Count=sum(T_Count),rn T_CarCount=sum(T_CarCount),rn rn T_CarMoney=SUM(T_CarMoney),rn T_CarMoneyNow=Sum(T_CarMoneyNow),rn T_CarMoneyLast=Sum(T_CarMoneyLast),rn T_CarMoneyAdd=case when Sum(T_CarMoneyNow)=0 then 0 else (Sum(T_CarMoneyNow)-Sum(T_CarMoneyLast))/Sum(T_CarMoneyNow)*100 end,rn T_CarMoneyNowTotle=sum(T_CarMoneyNowTotle),rn T_CarMoneyLastTotle=sum(T_CarMoneyLastTotle), rn T_CarMoneyTotleAdd=case when Sum(T_CarMoneyNowTotle)=0 then 0 else (Sum(T_CarMoneyNowTotle)-Sum(T_CarMoneyLastTotle))/Sum(T_CarMoneyNowTotle)*100 end,rn rn T_CarFixMoney=SUM(T_CarFixMoney),rn T_CarFixMoneyNow=Sum(T_CarFixMoneyNow),rn T_CarFixMoneyLast=Sum(T_CarFixMoneyLast),rn T_CarFixMoneyAdd=case when Sum(T_CarFixMoneyNow)=0 then 0 else (Sum(T_CarFixMoneyNow)-Sum(T_CarFixMoneyLast))/Sum(T_CarFixMoneyNow)*100 end,rn T_CarFixMoneyNowTotle=sum(T_CarFixMoneyNowTotle),rn T_CarFixMoneyLastTotle=sum(T_CarFixMoneyLastTotle), rn T_CarFixMoneyTotleAdd=case when Sum(T_CarFixMoneyNowTotle)=0 then 0 else (Sum(T_CarFixMoneyNowTotle)-Sum(T_CarFixMoneyLastTotle))/Sum(T_CarFixMoneyNowTotle)*100 end,rn rn T_OffRecMoney=SUM(T_OffRecMoney),rn T_OffRecMoneyNow=Sum(T_OffRecMoneyNow),rn T_OffRecMoneyLast=Sum(T_OffRecMoneyLast),rn T_OffRecMoneyAdd=case when Sum(T_OffRecMoneyNow)=0 then 0 else (Sum(T_OffRecMoneyNow)-Sum(T_OffRecMoneyLast))/Sum(T_OffRecMoneyNow)*100 end,rn T_OffRecMoneyNowTotle=sum(T_OffRecMoneyNowTotle),rn T_OffRecMoneyLastTotle=sum(T_OffRecMoneyLastTotle), rn T_OffRecMoneyTotleAdd=case when Sum(T_OffRecMoneyNowTotle)=0 then 0 else (Sum(T_OffRecMoneyNowTotle)-Sum(T_OffRecMoneyLastTotle))/Sum(T_OffRecMoneyNowTotle)*100 end,rnrn T_MeetMoney=SUM(T_MeetMoney),rn T_MeetMoneyNow=Sum(T_MeetMoneyNow),rn T_MeetMoneyLast=Sum(T_MeetMoneyLast),rn T_MeetMoneyAdd=case when Sum(T_MeetMoneyNow)=0 then 0 else (Sum(T_MeetMoneyNow)-Sum(T_MeetMoneyLast))/Sum(T_MeetMoneyNow)*100 end,rn T_MeetMoneyNowTotle=sum(T_MeetMoneyNowTotle),rn T_MeetMoneyLastTotle=sum(T_MeetMoneyLastTotle), rn T_MeetMoneyTotleAdd=case when Sum(T_MeetMoneyNowTotle)=0 then 0 else (Sum(T_MeetMoneyNowTotle)-Sum(T_CarMoneyLastTotle))/Sum(T_MeetMoneyNowTotle)*100 end,rnrn T_TripMoney=SUM(T_TripMoney),rn T_TripMoneyNow=Sum(T_TripMoneyNow),rn T_TripMoneyLast=Sum(T_TripMoneyLast),rn T_TripMoneyAdd=case when Sum(T_TripMoneyNow)=0 then 0 else (Sum(T_TripMoneyNow)-Sum(T_TripMoneyLast))/Sum(T_TripMoneyNow)*100 end,rn T_TripMoneyNowTotle=sum(T_TripMoneyNowTotle),rn T_TripMoneyLastTotle=sum(T_TripMoneyLastTotle), rn T_TripMoneyTotleAdd=case when Sum(T_TripMoneyNowTotle)=0 then 0 else (Sum(T_TripMoneyNowTotle)-Sum(T_TripMoneyLastTotle))/Sum(T_TripMoneyNowTotle)*100 end,rnrn T_TrainMoney=SUM(T_TrainMoney),rn T_TrainMoneyNow=Sum(T_TrainMoneyNow),rn T_TrainMoneyLast=Sum(T_TrainMoneyLast),rn T_TrainMoneyAdd=case when Sum(T_TrainMoneyNow)=0 then 0 else (Sum(T_TrainMoneyNow)-Sum(T_TrainMoneyLast))/Sum(T_TrainMoneyNow)*100 end,rn T_TrainMoneyNowTotle=sum(T_TrainMoneyNowTotle),rn T_TrainMoneyLastTotle=sum(T_TrainMoneyLastTotle), rn T_TrainMoneyTotleAdd=case when Sum(T_TrainMoneyNowTotle)=0 then 0 else (Sum(T_TrainMoneyNowTotle)-Sum(T_TrainMoneyLastTotle))/Sum(T_TrainMoneyNowTotle)*100 end,rn rn T_All=SUM(T_All),rn T_AllNow=Sum(T_AllNow),rn T_AllLast=Sum(T_AllLast),rn T_AllAdd=case when Sum(T_AllNow)=0 then 0 else (Sum(T_AllNow)-Sum(T_AllLast))/Sum(T_AllNow)*100 end,rn T_AllNowTotle=sum(T_AllNowTotle),rn T_AllLastTotle=sum(T_AllLastTotle), rn T_AllTotleAdd=case when Sum(T_AllNowTotle)=0 then 0 else (Sum(T_AllNowTotle)-Sum(T_AllLastTotle))/Sum(T_AllNowTotle)*100 end,rn T_OffRecMoneyAve=case when sum(T_count)=0 then 0 else sum(T_OffRecMoneyNow)/sum(T_Count) end ,rn T_CarFixMoneyRun=case when sum(T_CarCount)=0 then 0 else sum(T_CarFixMoneyNow)/sum(T_CarCount) endrn rn rnFROM View_ThreeData where DepartID=@DepartID and T_Year=@T_Year and T_MM=@T_MMrnGROUP BY U_Parent,DepartID,U_Name WITH ROLLUP rnHAVING GROUPING(DepartID)=1 and COUNT(*)>1 or GROUPING(U_Parent)=1 or GROUPING(U_Name)=0 rnENDrn[/code]rn使用上面排序不对,我想按照 View_ThreeData中的字段U_Num排序,但是U_Num不进行聚合,如何操作?rn
相关热词 c++和c#哪个就业率高 c# 批量动态创建控件 c# 模块和程序集的区别 c# gmap 截图 c# 验证码图片生成类 c# 再次尝试 连接失败 c#开发编写规范 c# 压缩图片好麻烦 c#计算数组中的平均值 c#获取路由参数