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

postgresql 分组

postgresql 数据汇总

  • 分组汇总
    • 聚合函数
      • 注意
    • 总结
  • 分组统计
    • 总结
  • 高级分组
    • 总结

分组汇总

聚合函数

聚合函数(aggregate function)针对一组数据行进行运算,并且返回单个结果。PostgreSQL
支持以下常见的聚合函数:

AVG - 计算一组值的平均值。
COUNT - 统计一组值的数量。
MAX - 计算一组值的最大值。
MIN - 计算一组值的最小值。
SUM - 计算一组值的和值。
STRING_AGG - 连接一组字符串。

-- 部门所有员工的平均薪水、员工总数、最高薪水、最低薪水、以及薪水总计
-- 聚合函数忽略NULL数据行,count(*)除外
-- 聚合函数中的distinct会对数据去重
SELECT AVG(salary),COUNT(distinct manager_id),MAX(salary),MIN(salary),SUM(salary)FROM employees;

在这里插入图片描述

-- 字符串的聚合
SELECT string_agg(first_name,';' order by first_name)FROM employees;

在这里插入图片描述

注意

  • 函数参数前添加 DISTINCT 关键字,可以在计算时排除重复值。
  • 忽略参数中的 NULL

总结

在这里插入图片描述

分组统计

-- 分组统计
-- extract 提取
-- extract(year from hire_date) 统计入职日期按年
SELECT extract(year from hire_date) as years,count(*)FROM employeesgroup by  extract(year from hire_date);-- 上述sql可以简写为如下sql-- group by 1表示按照查询的第一列分组SELECT extract(year from hire_date) as years,count(*)FROM employeesgroup by 1;-- 统计每年每个部门有多少人入职SELECT extract(year from hire_date) as years,department_id,count(*)FROM employeesgroup by 1,2;

总结

在这里插入图片描述

高级分组

create table sales(
item varchar(10),
year varchar(4),
quantity int
);
insert into sales values('apple','2018',800);
insert into sales values('apple','2018',1000);
insert into sales values('banana','2018',500);
insert into sales values('banana','2018',600);
insert into sales values('apple','2019',1200);
insert into sales values('banana','2019',1800);
-- rollup向上翻滚
select item,year,sum(quantity)
from sales
group by rollup(item,year);
-- rollup相当于group by item,year+group by item+sum(quantity)
-- rollup按照层级进行分组
-- coalesce去除非空字段
select coalesce(item,'所有产品') as "产品",coalesce(year,'所有年份')as "年份",sum(quantity)
from sales
group by rollup(item,year);

在这里插入图片描述

总结

在这里插入图片描述

http://www.lryc.cn/news/136563.html

相关文章:

  • RT1052的EPWM
  • k8s 安装istio (一)
  • vue 项目在编译时,总是出现系统崩的状态,报错信息中有v7 或者 v8 的样式-项目太大内存溢出
  • 低功耗蓝牙射频指纹识别
  • 怎么检测UI卡顿?(线上及线下)
  • Git 常用操作
  • 前端修改新增操作导致数据删除——js精度丢失
  • winform使用usercontrol 构建了一个复杂的列表,列表速度慢该如何优化?
  • Lnton羚通算法算力云平台如何在OpenCV-Python中使用cvui库创建复选框
  • 中项系统集成项目管理知识点汇总
  • Docker容器:docker基础及网络
  • Django实现音乐网站 ⑿
  • ORB-SLAM2学习笔记10之图像关键帧KeyFrame
  • 【ownCloud】添加信任域
  • C++--类型转换
  • 在服务器上部署 Nginx 并设置图片服务器
  • 使用NXP GUI GUIDER生成的GUI移植到雅特力MCU平台过程详解(ST/GD/国民/极海通用)
  • JVM——配置常用参数,GC调优策略
  • 使用IDEA把Java程序打包成jar
  • 元宇宙和数字孪生的异同探究
  • 初识微服务
  • 数据库锁的分类 各种锁
  • MySQL数据库软件
  • 无涯教程-PHP - preg_match_all()函数
  • Docker 练习2 安装MySQL
  • AndroidStudio 编译报错Unable to make field private final
  • linux 上安装es
  • 自然语言处理从入门到应用——LangChain:索引(Indexes)-[文本分割器(Text Splitters)]
  • Chrome如何安装插件(文件夹)
  • MySql 环境搭建