今天来说一下使用sql统计数据。

用的H2数据库,用的是DBeaver连接工具。有三表,打印表PRINT_JOB,复印表COPY_JOB和扫描表SCANNER_JOB

(这段可以忽略)任务是要统计相同的SERIAL_NUMBER下三张表数据的,但是有要求三张表的SERIAL_NUMBER只要其中有一个表有值都要统计出来,每张表也需要先统计出相同SERIAL_NUMBER的count之和。

表PRINT_JOB结构(用到的字段是求和 JOBCOUNT,条件 MACHINE_ID)

表COPY_JOB结构(用到的字段是求和 COUNT, 条件 SERIAL_NUMBER)

表SCANNER_JOB结构(用到的字段是求和 COUNT, 条件 SERIAL_NUMBER)

(不要问字段名为什么这样设计,我已经在心里骂过了)

开始我想要full join...on,发现这个数据看不支持full join,不过没关系我们还有UNION ALL

最终解决方法,直接贴上sql

SELECT sum(total) alldata, SERIAL_NUMBER FROM (
select sum(JOBCOUNT) total,MACHINE_ID SERIAL_NUMBER from PRINT_JOB group by MACHINE_ID
UNION ALL
select sum(COUNT) total,SERIAL_NUMBER from COPY_JOB group by SERIAL_NUMBER
UNION ALL
select sum(COUNT) total,SERIAL_NUMBER from SCANNER_JOB group by SERIAL_NUMBER) tb_alldata
GROUP BY SERIAL_NUMBER ORDER BY alldata DESC LIMIT 0,5

结果ok.

sql中数据统计的更多相关文章

  1. Asp.net管理信息系统中数据统计功能的实现

    数据统计是每个系统中必备的功能,在给领导汇报统计数据,工作中需要的进展数据时非常有用. 在我看来,一个统计的模块应该实现以下功能: 能够将常用的查询的统计结果显示出来: 显示的结果可以是表格形式,也可 ...

  2. SQL中数据类型转换

    CAST 和 CONVERT 将某种数据类型的表达式显式转换为另一种数据类型.CAST 和 CONVERT 提供相似的功能. 语法 使用 CAST: CAST ( expression AS data ...

  3. 浅谈 sql 中数据的约束

    数据约束 --对用户操作表的数据进行约束 1.默认值 --当用户对使用默认值的字段不插入值的时候,就使用默认值 1)对默认值字段插入null是可以的. 2)对默认值字段可以插入非null [例如:ad ...

  4. 通过java api 读取sql 中数据(查询)

    配置文件:dbconfig.properties 里面的数据 jdbc.url.jwhat=jdbc\:mysql\://ip\:3306/laibadev?useUnicode\=true& ...

  5. JSP 页面显示sql中数据。el

    存储数据库字段. package Bean; /** * Created by Administrator on 2017/5/24. */ public class info { private S ...

  6. 动态获取项加入到SQL中去统计

    public static List<CustomerAppraisalInfo> ListCustomerAppraisal(int pageIndex, int pageSize, s ...

  7. sql中如何统计一字段中字符串的个数

    declare @s varchar(100)set @s='156434A27kAsdABCiosd-01&**('--找出现的次数select len(@s)-len(replace(@s ...

  8. 基于WebForm+EasyUI的业务管理系统形成之旅 -- 数据统计(Ⅳ)

    上篇<基于WebForm+EasyUI的业务管理系统形成之旅 -- 首页快捷方式>,主要介绍通过添加首页快捷方式,快速进入各个应用菜单功能. 将常用的菜单功能作为快捷方式,避免由于寻找诸多 ...

  9. 前端 SPA 单页应用数据统计解决方案 (ReactJS / VueJS)

    前端 SPA 单页应用数据统计解决方案 (ReactJS / VueJS) 一.百度统计的代码: UV PV 统计方式可能存在问题 在 SPA 的前端项目中 数据统计,往往就是一个比较麻烦的事情,Re ...

随机推荐

  1. async异步流程控制

    http://cnodejs.org/topic/54acfbb5ce87bace2444cbfb 先安装:G:\www\nodejs\one\models>npm install async ...

  2. 震惊!!!!!!!靠sort水过二叉堆的天秀操作

  3. 在这个插件帮助下,终于用上免费的Https协议外链的图床了

    前天,强哥发了一篇推文,讲述了应该如何免费且快速的生成自己的博客网站: 期间也有提到一点就是我们在写博客的时候,因为使用的是Markdown格式的文件,而如果想要​Markdown格式的文件在图片上传 ...

  4. ☆☆如何学习MATLAB☆☆

    大多数朋友第一次接触MATLAB一般都是在大学里面开设的MATLAB课程,第一次真正使用MATLAB是在自己的毕业论文中用到.所以对于MATLAB可以说是既爱又恨.爱,是因为使用MATLAB几乎可以实 ...

  5. Spring扩展之五:Aware接口等

    ApplicationContextAwareProcessor 1.介绍 ApplicationContextAwareProcessor是一个Spring内部工具,它实现了接口BeanPostPr ...

  6. Oracle的常用命令和表空间

    删除用户和表空间 ## 删除用户 drop user userName cascade; ## 如果用户无法删除,并报错: ## ERROR at line 1: ## ORA-01940: cann ...

  7. Windows系统散列值获取分析与防范

    LM Hash && NTLM Hash Windows操作系统通常使用两种方法对用户的明文进行加密处理,在域环境中,用户信息存储在ntds.dit中,加密后为散列值.Windows操 ...

  8. [题解]UVA10026 Shoemaker's Problem

    链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&am ...

  9. ASP.NET Core 6框架揭秘实例演示[12]:诊断跟踪的进阶用法

    一个好的程序员能够在系统出现问题之后马上定位错误的根源并找到正确的解决方案,一个更好的程序员能够根据当前的运行状态预知未来可能发生的问题,并将问题扼杀在摇篮中.诊断跟踪能够帮助我们有效地纠错和排错&l ...

  10. C# mutex互斥锁构造

    概念 Mutext 出现的比monitor更早,而且传承自COM,当然,waitHandle也是它的父类,它继承了其父类的功能,有趣的是Mutex的脾气非常的古怪,它 允许同一个线程多次重复访问共享区 ...