sqlserver 小计合计总计
SELECT CASE WHEN GROUPING(F1) = 1 THEN '总计'
WHEN GROUPING(F1) = 0 AND GROUPING(F2) = 1 THEN F1+'合计'
WHEN GROUPING(F1) = 0 AND GROUPING(F2) = 0 AND GROUPING(F3) = 1 THEN F1+'的'+F2+'小计'
ELSE F1
END AS F1 ,
CASE WHEN GROUPING(F3) = 1 THEN '' ELSE F2
END AS F2 ,
ISNULL(F3, '') AS F3 ,
SUM(F4) AS F4,
SUM(F5) AS F5
FROM TB
GROUP BY F1,F2,F3 WITH ROLLUP;
示例一
select deptName,routeName,vehicleName, sum(CCW1) as CCW1 from View_LocalConsumeDetailReport GROUP BY deptName,routeName,vehicleName with rollup
实例二
select case when grouping(deptName)=1 then '合计' else deptName end as deptName, case when grouping(deptName)=0 and grouping(vehicleName)=1 then '小计' else vehicleName end as vehicleName,driverName ,sum(CTW1) as CTW1 from View_TodayDriverByCollectDate group by deptName,vehicleName,driverName with rollup having (grouping(deptName)=1) or (grouping(deptName)=0 and grouping(vehicleName)=1) or (grouping(deptname)= 0 and grouping(vehicleName)=0 and grouping(drivername)=0)
示例三
SELECT CASE WHEN grouping(deptName) = 1 THEN '合计' WHEN grouping(deptName) = 0 AND grouping(routeName) = 1 THEN '小计' else deptName END AS deptName,
CASE WHEN grouping(deptName) = 0 AND grouping(routeName) = 0 and grouping(vehicleName)=1 THEN '小计' ELSE routeName END AS routeName,
ISNULL(vehicleName, '') AS vehicleName,
SUM(CTW1) AS CTW1, SUM(CCW1) AS CCW1,
SUM(dbo.F2Y(CCM1)) AS CCM1, SUM(dbo.F2Y(CFM1)) AS CFM1
FROM View_ConsumeDetailReport AS mcis
WHERE (1 = 1) AND (CONVERT(varchar(100), reportDate, 23) >= '2014-11-01') AND ('2014-11-30' >= CONVERT(varchar(100), reportDate, 23))
GROUP BY deptName, routeName, vehicleName WITH ROLLUP
示例四
SELECT
CASE
WHEN grouping(deptName)= 1 THEN
'合计'
WHEN grouping(deptName)= 0
AND grouping(routeName)= 1 THEN
'小计'
ELSE
deptName
END AS deptName,
CASE
WHEN grouping(deptName)= 0
AND grouping(routeName)= 0
AND grouping(vehicleName)= 1
AND grouping(driverName)= 1
AND grouping(reportDate)= 1 THEN
'小计'
ELSE
routeName
END AS routeName,
mcis.vehicleName AS vehicleName,
mcis.driverName AS driverName,
mcis.reportDate AS reportDate,
SUM(WMCCT1)AS WMCCT1,
SUM(WMMCT1)AS WMMCT1,
SUM(WMCCT2)AS WMCCT2,
SUM(WMMCT2)AS WMMCT2,
SUM(WMCCT3)AS WMCCT3,
SUM(WMMCT3)AS WMMCT3,
SUM(WMCCT1 + WMCCT2 + WMCCT3)AS total,
SUM(WMMCT1 + WMMCT2 + WMMCT3)AS totalMoney
FROM
view_dayTotalArchivedReport mcis
WHERE
1 = 1
AND mcis.reportDate >= '2017-06-01'
AND '2017-08-04' >= mcis.reportDate
AND mcis.deptOID IN('0')
GROUP BY
deptName,
routeName,
vehicleName,
driverName,
reportDate WITH ROLLUP
示例五
select case when grouping(RechargeCentersName)=1 then '合计' when grouping(RechargeCentersName)=0 and grouping(terminalsName)=1
and grouping(operatorName)=1 and grouping(summaryDate)=1 then '小计' when grouping(RechargeCentersName)=0
and grouping(terminalsName)=0 and grouping(operatorName)=0 and grouping(summaryDate)=0 then mcis.RechargeCentersName else 'nothing'
end as RechargeCentersName,mcis.terminalsName as terminalsName,mcis.operatorName as operatorName,mcis.summaryDate as summaryDate,
ISNULL(sum(mcis.issueCount), 0) as issueCount,dbo.F2Y(ISNULL(sum(mcis.depositeMoney), 0)) as depositeMoney,
ISNULL(sum(mcis.wRechargeCount), 0) as wRechargeCount,dbo.F2Y(ISNULL(sum(mcis.wRechargeMoney), 0)) as wRechargeMoney,
ISNULL(sum(mcis.disCountRechargeCount), 0) as disCountRechargeCount,dbo.F2Y(ISNULL(sum(mcis.disCountRechargeMoney), 0))
as disCountRechargeMoney,ISNULL(sum(mcis.creditChangeCount), 0) as creditChangeCount,ISNULL(sum(mcis.creditNums), 0) as creditNums,
ISNULL(sum(mcis.mRechargeCount), 0) as mRechargeCount,dbo.F2Y(ISNULL(sum(mcis.mRechargeMoney), 0)) as mRechargeMoney,
ISNULL(sum(mcis.lossCount), 0) as lossCount,dbo.F2Y(ISNULL(sum(mcis.lossdeposit), 0)) as lossdeposit,ISNULL(sum(mcis.quitCount), 0)
as quitCount,dbo.F2Y(ISNULL(sum(mcis.quitFactorage), 0)) as quitFactorage,dbo.F2Y(ISNULL(sum(mcis.quitMoney-mcis.quitFactorage), 0))
as quitMoney,ISNULL(sum(mcis.issueCount+mcis.wRechargeCount+mcis.mRechargeCount+mcis.lossCount+mcis.quitCount), 0) as Cheji,
dbo.F2Y(ISNULL(SUM(mcis.depositeMoney+mcis.wRechargeMoney+mcis.mRechargeMoney+mcis.lossdeposit-mcis.quitMoney),0)) as Mheji from
View_SellAndReTodayReport mcis where 1=1 and mcis.summaryDate >='2016-01-16' and '2018-01-16' >= mcis.summaryDate and
mcis.operatorOID like '%' and mcis.terminalsOID in ('2372E6480F2248A694809A2447415CB0','297edff8523eaf8f01523ed87d6f001e',
'297edff852581e0801525888d09b0017','297edff852581e08015258ba14be0031','297edff852581e08015258bf43f60037','297edff852581e0801525c8645620059',
'297edff8525efa7901526252aa8902b9','297edff85902bbe901591a9f65dd14c3','297edff85a216d3e015a875fea065d73') group by RechargeCentersName ,
terminalsName ,operatorName ,summaryDate WITH ROLLUP HAVING (grouping(RechargeCentersName) = 1 ) or
( grouping(RechargeCentersName) = 0 AND grouping(terminalsName) = 1 AND grouping(operatorName) = 1 AND grouping(summaryDate) = 1 )
or ( grouping(RechargeCentersName) = 0 AND grouping(terminalsName) = 0 AND grouping(operatorName) = 0 AND grouping(summaryDate) = 0 )
sqlserver 小计合计总计相关推荐
- 小计合计总计表格_总计总计重复的Excel小计
小计合计总计表格 Do you use Excel's Subtotal command to automatically create subtotals in a list? I prefer p ...
- 小计 合计 总计 共计 怎么解释?
排列顺序:小计.总计.合计.共计分开使用. 小计:小计就是简单核算一下单个体,可理解为日小计 合计:合计就是把所有小计加起来,可理解为月合计 总计:总计就是把合计加起来,可理解为年总计 共计:一组数字 ...
- 实战 SQL:销售数据的小计/合计/总计以及数据透视表
文章目录 小计.合计与总计 多维度交叉统计 自定义统计维度 数据透视表 总结 学习过 SQL 的人都知道,使用聚合函数(AVG.SUM.COUNT.MIN/MAX 等)和分组操作(GROUP BY)可 ...
- sqlservere小计合计总计
SELECT CASE WHEN GROUPING(F1) = 1 THEN '总计' WHEN GROUPING(F1) = 0 AND GROUPING(F2) = 1 THEN F1+'合计' ...
- SAP小技巧之 实现SMARTFORM打印中的小计与总计
点击蓝字 关注我们 一 前言 公众号群里面有人在讨论SMARTFORM打印中的小计和总计的实现.好久没有做SMARTFORM了, 所以没有参与讨论. 后来网上查询了一下. 也没有找到很好的解决方案.所 ...
- Delphi报表开发ReportMachine的小计和总计的计算
Delphi报表开发ReportMachine的小计和总计的计算 2011年7月2日 分类: Delphi, 开发笔记 最近在做一个Delphi的发货清单的打印程序,其中涉及到需要计算清单的小计和总计 ...
- 使用sql语句实现 报表的小计合计
这里以oracle自带的emp表作为例子. 通常我们将 grouping, group by rollup放在一起使用. decode(grouping(ename) + grouping(job) ...
- oracle 小计 排序,使用SQL实现小计,合计以及排序
--说明:个人学习笔记,实现小计合计显示,分组按BANK_ID+OP_DATE升序排序 复制代码 代码如下: --测试数据CREATE TABLE #TB(ID VARCHAR(10),BANK_ID ...
- mysql小计_使用SQL实现小计,合计以及排序_MySQL
bitsCN.com --说明:个人学习笔记,实现小计合计显示,分组按BANK_ID+OP_DATE升序排序 --测试数据CREATE TABLE #TB(ID VARCHAR(10),BANK_ID ...
最新文章
- matlab实时脚本使用
- java executorser 停止_Java使用ExecutorService来停止线程服务
- lintcode-102-带环链表
- Android开源控件----Android显示GIF图像控件------android-gif-drawable
- MySQL----示例知识点整理
- beast软件linux用法,声卡驱动设置 - 黑苹果驱动高手篇 MultiBeast用法进阶_Linux教程_Linux公社-Linux系统门户网站...
- 苹果回应移除部分屏幕时间控制应用:因为隐私和安全
- keygenerator php,学习PHP生成器的使用
- Sqlite3 数据库基本操作
- 为什么我发现自己照镜子觉得很好看,但是拍照就像变了一个人?
- 如何成为Java开发工程师?需要掌握哪些技能?
- 大数据开发笔记(四):Hive数据仓库
- UART、RS232、RS485协议简单总结
- 激光雷达互动交互大屏全息互动投影Tuio多点触摸检测驱动引擎
- 修真院教学模式四大体系之职业素养
- 无线路由器wan口和lan口
- 跨境电商细分领域的探索-扬帆际海
- 【剑指offer】解题思路 53-68
- LeetCode 937. 重新排列日志文件 / 1823. 找出游戏的获胜者(约瑟夫环问题) / 713. 乘积小于 K 的子数组
- 贪吃蛇大作战:C语言代码
热门文章
- C.2#【数据段】—2.数据段data、bss、rodata
- linux 目标文件(*.o) bss,data,text,rodata,堆,栈
- 子女不得以放弃继承权为由,拒绝赡养老人
- 水星5口交换机划分Vlan
- 吹爆系列:Android 插桩之美,全面掌握~
- 智能养殖管理系统方案解读
- mmdection评价结果
- 时尚概念渐成现实生活 “无人”领域多点开花
- Keil uVision5新建工程模板
- 获取哔哩哔哩网站的排行榜