PostgreSQL入门到实战-第二十八弹

PostgreSQL中数据分组操作(三)

使用PostgreSQL grouping sets子句在查询中生成多个分组集。

官网地址

声明: 由于操作系统, 版本更新等原因, 文章所列内容不一定100%复现, 还要以官方信息为准

https://www.postgresql.org/

PostgreSQL概述

PostgreSQL: 世界上最先进的开源关系数据库。

PostgreSQL中GROUPING SETS命令理论

  • 分组集是使用group by子句进行分组所依据的一组列。

  • 分组集由放置在括号内的以逗号分隔的列列表表示

    GROUPING( column_name | expression)
    

PostgreSQL中GROUPING SETS命令实战

数据库样例数据来源: https://blog.csdn.net/zwq56693/article/details/137473602

  • 构建数据

    DROP TABLE IF EXISTS sales;
    
    CREATE TABLE sales (
        brand VARCHAR NOT NULL,
        segment VARCHAR NOT NULL,
        quantity INT NOT NULL,
        PRIMARY KEY (brand, segment)
    );
    
    INSERT INTO sales (brand, segment, quantity)
    VALUES
        ('ABC', 'Premium', 100),
        ('ABC', 'Basic', 200),
        ('XYZ', 'Premium', 100),
        ('XYZ', 'Basic', 300)
    RETURNING *;
    
  • 使用GROUPING SETS子句, 连接(brand, segment), (brand),(segment), ()分组

    SELECT
        brand,
        segment,
        SUM (quantity)
    FROM
        sales
    GROUP BY
        GROUPING SETS (
            (brand, segment),
            (brand),
            (segment),
            ()
        );
    

在这里插入图片描述

更新计划

欲知后事如何, 请听下回分解

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值