news 2026/7/14 16:55:41

PostgreSql 常用聚合函数

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
PostgreSql 常用聚合函数

基础准备

CREATETEMPTABLEdemo(idint,vint,ttext);INSERTINTOdemoVALUES(1,10,'a'),(2,20,'b'),(3,NULL,'c');
idvt
110a
220b
3NULLc

注意:版本基于 PG 15,全部自带,无需扩展

A. 基础统计
SELECTcount(*)AScnt,-- 3count(v)AScnt_v,-- 2(NULL 不计)sum(v)ASs,-- 30avg(v)ASa,-- 15max(v)ASmx,-- 20min(v)ASmn-- 10FROMdemo;

结果:

cntcnt_vsamxmn
3230152010

B. 扩展统计

SELECTstddev_pop(v)ASstd_pop,-- 5stddev_samp(v)ASstd_samp,-- 7.0710678var_pop(v)ASvar_pop,-- 25var_samp(v)ASvar_samp-- 50FROMdemo;

结果:

std_popstd_sampvar_popvar_samp
57.071067812550
C. 位运算聚合
SELECTbit_and(v)ASbit_and,-- 0 (10 & 20 = 0)bit_or(v)ASbit_or,-- 30 (10 | 20 = 30)bit_xor(v)ASbit_xor-- 30 (10 # 20 = 30)FROMdemo;

结果:

bit_andbit_orbit_xor
03030
D. 字符串聚合
SELECTstring_agg(t,',')ASstr1,-- a,b,cstring_agg(t,','ORDERBYidDESC)ASstr2-- c,b,aFROMdemo;

结果:

str1str2
a,b,cc,b,a
E. 数组 / JSON 聚合
SELECTarray_agg(v)ASarr,-- {10,20}array_agg(vORDERBYvDESC)ASarr_desc,-- {20,10}json_agg(v)ASj,-- [10,20]jsonb_agg(t)ASjb-- ["a", "b", "c"]FROMdemo;

结果:

arrarr_descjjb
{10,20}{20,10}[10,20][“a”, “b”, “c”]
F. 排重聚合
SELECTcount(DISTINCTv)AScdv,-- 2string_agg(DISTINCTt,'')ASdst-- abcFROMdemo;

结果:

cdvdst
2abc
G. 有序集合(需要 WITHIN GROUP)
SELECTpercentile_cont(0.5)WITHINGROUP(ORDERBYv)ASmedian,-- 15percentile_disc(0.5)WITHINGROUP(ORDERBYv)ASdisc,-- 10mode()WITHINGROUP(ORDERBYt)ASmode_t-- a(出现最多)FROMdemo;

结果:

mediandiscmode_t
1510a
H. 假设集合(同样 WITHIN GROUP)
SELECTrank(15)WITHINGROUP(ORDERBYv)ASrnk,-- 2percent_rank(15)WITHINGROUP(ORDERBYv)ASpct,-- 0.5cume_dist()WITHINGROUP(ORDERBYv)AScume-- 1.0FROMdemo;

结果:

rnkpctcume
20.51.0
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/11 9:05:03

JSP如何支持信创环境的大文件断点续传?

大文件传输系统解决方案 作为浙江IT行业软件公司项目负责人,我们面临的大文件传输需求具有很高的技术挑战性。以下是我针对该需求的专业解决方案分析。 需求分析总结 超大文件传输:单文件100GB,文件夹层级结构保持高稳定性:支持…

作者头像 李华
网站建设 2026/7/13 4:00:17

GitHub上最火的Qwen3-32B衍生项目TOP10盘点

GitHub上最火的Qwen3-32B衍生项目TOP10盘点 在生成式AI浪潮席卷全球的今天,大模型不再是科技巨头的专属玩具。越来越多的企业和开发者开始寻找既能扛起复杂任务、又不至于压垮服务器预算的“黄金平衡点”模型。就在这个关键节点上,阿里通义实验室推出的…

作者头像 李华
网站建设 2026/7/8 17:22:19

RAG 2.0 深入解读

本文从RAG 2.0 面临的主要挑战和部分关键技术来展开叙事,还包括了RAG的技术升级和关键技术等。 一、Introduction 过去一年可谓是RAG元年,检索增强生成技术迅速发展与深刻变革,其创新与应用已深刻重塑了大模型落地的技术范式。站在2025年&…

作者头像 李华
网站建设 2026/7/13 13:14:11

22、Docker Swarm 模式:从基础到实践

Docker Swarm 模式:从基础到实践 1. 基础部署与应用上线 在容器部署中,我们可以借助相关工具实现应用的快速上线。例如,Centurion 可以完成拉取所需镜像、验证镜像拉取是否正确,接着连接到主机停止旧容器、创建新容器并启动,还会持续进行健康检查,直到容器报告健康状态…

作者头像 李华
网站建设 2026/7/10 6:43:16

24、容器编排:从 ECS 到 Kubernetes 的实践指南

容器编排:从 ECS 到 Kubernetes 的实践指南 1. ECS 任务清理与进阶准备 在使用 AWS ECS(Elastic Container Service)时,当你使用相同的任务 ID 再次描述任务,你会发现 lastStatus 键被设置为 STOPPED 。例如: $ aws ecs describe-tasks --cluster fargate-testin…

作者头像 李华