• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >Mysql > 使用SQL实现小计,合计以及排序

使用SQL实现小计,合计以及排序

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了sql 小计 合计,sql 分组小计,sql 小计,小计 合计 总计区别,小计合计总计等相关知识,希望本文的分享对您有所帮助

--说明:个人学习笔记,实现小计合计显示,分组按BANK_ID+OP_DATE升序排序

--查询
SELECT A.ID
 ,A.BANK_ID
 ,A.AMT
 ,B.OP_DATE
 ,B.OPERATOR_NO
FROM
(
(SELECT
 ID=CASE
  WHEN GROUPING(BANK_ID)=1 THEN '合计'
  WHEN GROUPING(ID)=1 THEN '小计'
  ELSE ID END
 ,BANK_ID
    ,SUM(AMT) AMT
    ,ORDER_SIGN1=GROUPING(BANK_ID),ORDER_SIGN2=BANK_ID
    ,ORDER_SIGN3=GROUPING(ID)
FROM #TB
GROUP BY BANK_ID,ID WITH ROLLUP
HAVING GROUPING(ID)=1
UNION ALL --先得出表的统计,再加上表中的数据
SELECT ID
 ,BANK_ID
 ,AMT
 ,ORDER_SIGN1=0,ORDER_SIGN2=BANK_ID
    ,ORDER_SIGN3=0
 FROM #TB) A
LEFT JOIN --为了显示出OP_DATE、OPERATOR_NO
(SELECT ID
 ,OP_DATE
 ,OPERATOR_NO
FROM #TB) B ON A.ID = B.ID
) ORDER BY ORDER_SIGN1,ORDER_SIGN2,ORDER_SIGN3,OP_DATE

GO

--删除测试
DROP TABLE #TB

/*--测试结果
ID BANK_ID AMT OP_DATE OPERATOR_NO
3333 001 250.00 20121112 1234567
5555 001 300.00 20121210 1234567
1111 001 111.00 20121210 1234567
小计 001 661.00 NULL NULL
4444 002 330.00 20121110 1234567
6666 002 150.00 20121112 1234567
2222 002 222.00 20121210 1234567
小计 002 702.00 NULL NULL
合计 NULL 1363.00 NULL NULL
--*/
</div>

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 使用SQL实现小计,合计以及排序

相关文章

  • 2018-12-05mysql数据库优化必会的几个参数中文解释
  • 2018-12-05Mysql中的视图实例详解
  • 2018-12-05SQL SERVER 查询正在实行的SQL语句
  • 2018-12-05把mysql大数据导入Navicat时报错的方法详解
  • 2018-12-05SQL Server通过储存过程实现批量删除注意事项
  • 2018-12-05SQL 中sp_executesql存储过程的使用帮助
  • 2018-12-05详解在mysql查询时,offset过大影响性能的原因与优化方法
  • 2018-12-05MySQL 索引分析和优化
  • 2018-12-05 Mysql高级之事务
  • 2017-05-11MySQL数据库十大优化技巧

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • mysql中int、bigint、smallint 和 tinyint的区别详细介绍
    • MySQL常常被我们误会的地方
    • 如何修改Oracle数据库表中字段顺序
    • MySQL与存储过程的相关资料
    • 如何解决ORA-01843与NLS_DATE_FORMAT问题
    • MYSQL数据库中的现有表增加新字段(列)
    • MySQL远程访问设置终极方法
    • SQL的聚合函数与排序
    • Linux下MySQL安装配置 MySQL配置参数详解
    • PL/SQL 日期时间类型函数及运算

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有