当前位置: 首页 > news >正文

【PostGresql】-----PG按本月、本年数据统计并且行数据转列字段数据查询

select t.* from 
(
SELECT
  wx."TBDW" AS "CNAME",
  '本月' "TYPE",
  SUM(CASE WHEN zy."QYTSMC" = '废乳化液' THEN  CAST("SJJSL" as numeric)  ELSE 0 END) AS "废乳化液",
  SUM(CASE WHEN zy."QYTSMC" = '废包装物(吨)' THEN CAST("SJJSL" as numeric)  ELSE 0 END) AS "废包装物(吨)",
  SUM(CASE WHEN zy."QYTSMC" = '含油残渣(吨)' THEN CAST("SJJSL" as numeric)  ELSE 0 END) AS "含油残渣(吨)",
  SUM(CASE WHEN zy."QYTSMC" = '废润滑油(吨)' THEN CAST("SJJSL" as numeric)  ELSE 0 END) AS "废润滑油(吨)",
  SUM(CASE WHEN zy."QYTSMC" = '废油桶(个)' THEN CAST("SJJSL" as numeric)  ELSE 0 END) AS "废油桶(个)"
FROM "JT_WXFWZYQKXX" wx LEFT JOIN "JT_WXFWZYQKXX_ZYMXB" zy ON zy."MASTER_DATA_ID"= wx."ID" WHERE TO_DATE(wx."NY", 'YYYY-MM-DD') BETWEEN '2025-04-01' AND '2025-04-30' 
GROUP BY  wx."TBDW" 

UNION ALL

SELECT
  wx."TBDW" AS "CNAME",
	'本年' "TYPE",
  SUM(CASE WHEN zy."QYTSMC" = '废乳化液' THEN  CAST("SJJSL" as numeric)  ELSE 0 END) AS "废乳化液",
  SUM(CASE WHEN zy."QYTSMC" = '废包装物(吨)' THEN CAST("SJJSL" as numeric)  ELSE 0 END) AS "废包装物(吨)",
  SUM(CASE WHEN zy."QYTSMC" = '含油残渣(吨)' THEN CAST("SJJSL" as numeric)  ELSE 0 END) AS "含油残渣(吨)",
  SUM(CASE WHEN zy."QYTSMC" = '废润滑油(吨)' THEN CAST("SJJSL" as numeric)  ELSE 0 END) AS "废润滑油(吨)",
  SUM(CASE WHEN zy."QYTSMC" = '废油桶(个)' THEN CAST("SJJSL" as numeric)  ELSE 0 END) AS "废油桶(个)"
FROM "JT_WXFWZYQKXX" wx LEFT JOIN "JT_WXFWZYQKXX_ZYMXB" zy ON zy."MASTER_DATA_ID"= wx."ID"  WHERE TO_DATE(wx."NY", 'YYYY-MM-DD') BETWEEN '2025-01-01' AND '2025-12-31' 
GROUP BY  wx."TBDW"  
)
t
order by t."CNAME" desc

 

http://www.dtcms.com/a/129386.html

相关文章:

  • Kubernetes-如何进入某POD中
  • (六)深入了解AVFoundation-播放:AirPlay、画中画后台播放
  • SQLyog 小记
  • 2021第十二届蓝桥杯大赛软件赛省赛C/C++ 大学 B 组
  • 从零构建一个全栈AI应用:Next.js + FastAPI + OpenAI API
  • AbortController:让异步操作随时说停就停
  • Linux:37信号lesson26(未完)
  • 模板引擎语法-标签
  • 【C#】线程回调
  • 组件化可编辑表格
  • Oracle for Linux安装和配置(11)——Linux命令
  • 《车辆人机工程-汽车驾驶操纵实验》
  • 嵌入式 C语言 二进制宏
  • SQL JOIN 全解析:跨表查询与实体关系建模
  • Qt实现读取本地文件并导出数据到Excel
  • 【连载2】基础智能体的进展与挑战综述
  • DeepSeek在消防救援领域的应用解决方案
  • 小程序开发指南
  • android display 笔记(十二)CPU,GPU,DPU的区别
  • Java中equals与 “==” 的区别
  • 自动驾驶的未来:多模态感知融合技术最新进展
  • HashMap实现通用的Request和Response及解析非标准JSON
  • 既然安装了WSL2和Ubuntu,那么怎么和windows传递文件(2)
  • 【Linux】Linux基础指令
  • vxe-table
  • FPGA上实现SD卡连续多块读的命令
  • muduo库源码分析: One Loop Per Thread
  • 解决windows server 2012服务器注册表删除Grace Period报错无法删除 GracePeriod: 删除项时出错
  • 数据结构day05
  • Centos7配置本地Yum源以及网络YUM源(保姆级)