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

【postgresql按照逗号分割字段,并统计数量和求和】

postgresql按照逗号分割字段,并统计数量和求和

  • postgresql按照逗号分割字段,并统计数量和求和

postgresql按照逗号分割字段,并统计数量和求和

SELECT 
ucd, p ,tm, step, unitcd, tm_end
from 
resource_calc_scene_rain_bound_value_plus
where scprod_id = 13529
ORDER BY ucd asc

postgresql中字段p字段存储的数据为0.0,0.0,0.0,0.0,0.0,0.2,0.0,0.0,0.4,0.7,1.0,1.1,1.1,1,sql语句实现按照逗号分割,统计p的数量,并对p求和,在原来sql基础上增加输出两列pcount和psum。

要在PostgreSQL中修改您的SQL查询,使其能够统计p字段中逗号分隔的值的数量(pcount)和对这些值求和(psum),您可以使用string_to_array函数和unnest函数。以下是修改后的SQL语句:

SELECT ucd, p, tm, step, unitcd, tm_end,array_length(string_to_array(p, ','), 1) AS pcount,(SELECT SUM(CAST(trim(value) AS float)) FROM unnest(string_to_array(p, ',')) AS value) AS psum
FROM resource_calc_scene_rain_bound_value_plus
WHERE scprod_id = 13529
ORDER BY ucd ASC

这个查询做了以下操作:

使用string_to_array(p, ‘,’)将逗号分隔的字符串转换为数组

使用array_length()函数获取数组长度作为pcount

使用子查询和unnest()函数展开数组,然后对每个值进行求和计算psum

保留原始查询的所有其他字段和排序

注意:如果p字段中的某些值可能有空格,我添加了trim()函数来确保正确处理。

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

相关文章:

  • 【Spring AI 1.0.0】Spring AI 1.0.0框架快速入门(4)——Chat Memory(聊天记录)
  • SpringCloud【Sentinel】
  • 7.3.2 内核内存管理运行机制
  • 到底可不可以用jion?jion如何优化?
  • MapStruct类型转换接口未自动注入到spring容器中
  • Web前端:JavaScript find()函数内判断
  • Redis 单线程模型与多线程机制
  • kettle 8.2 ETL项目【二、加载数据】
  • 「Linux命令基础」用户和用户组实训
  • rust-方法语法
  • 背包DP之分组背包
  • mac电脑(m1) - flask断点失效
  • Datawhale AI数据分析 作业2
  • 力扣1287:有序数组中出现次数超过25%的元素
  • Linux join命令快速从大文件中匹配内容
  • 构建 Odoo 18 移动端导航:深入解析 OWL 框架、操作与服务
  • P1013 [NOIP 1998 提高组] 进制位
  • 【算法】递归、搜索与回溯算法入门
  • 星痕共鸣数据分析2
  • 【Guava】1.1.我的报告
  • 移动前端开发与 Web 前端开发的区别
  • 电商接口常见误区与踩坑提醒
  • 3.SOAP
  • 跨境支付入门~国际支付结算(风控篇)
  • 酷狗最新版KG-DEVID 算法分析
  • Unity 时间抗锯齿(Temporal Antialiasing, TAA)技术解析
  • T-RO顶刊|单视角“找相似”,大阪大学提出新型点云描述符(C-FPFH),杂乱场景一抓一个准!
  • 2025国自然青基、面上会评结束,资助率或创新低,跌破11.19%!
  • 期货交易系统用户操作与应用逻辑全析
  • springboot实战demo2