sql中數據統計


今天來說一下使用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.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM