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

Gauss高斯:建表语法,存储方式,OLTP和OLAP,系统时间,数组,分组(grouping set,rollup)

数据库和表的语法

数据库

oracle,高斯, hive的默认存储方式都是列式存储 

存储方式

高斯数据库(GaussDB)支持列式存储和行式存储

 

OLTP 与 OLAP 

OLTP(联机事务处理,Online Transaction Processing)是一种用于管理面向事务的应用的数据处理方式。它主要用于处理大量短小、频繁的事务,通常涉及数据的插入、更新和删除操作。OLTP 系统旨在确保数据的一致性和完整性,同时支持高并发和快速响应时间。

OLAP(Online Analytical Processing,在线分析处理)是一种软件技术,它允许用户对多维数据集进行快速、复杂、多角度的分析。OLAP技术主要用于数据仓库系统,支持复杂的查询和分析,以便从大量历史数据中提取有用的信息,帮助企业做出决策

系统时间

高斯获取系统时间的函数: current_timestampnow() 和 current_date 

示例

oracle获取系统时间的函数: 

SYSDATE(返回当前的系统日期和时间)

CURRENT_TIMESTAMP(返回当前日期和时间)

示例

:: 是 PostgreSQL 及其兼容数据库(包括高斯数据库)中用于类型转换的操作符。这里将字符串 '2024-11-14 15:23:04' 转换为 timestamp 类型

数组

数组是一种数据类型,它可以存储一个固定大小的相同数据类型的值的集合。

数组的元素下标是从1开始的 (高斯和oracle都是)

一维数组

示例

多维数组

int_array2[2][3] 表示 int_array2 二维数组中第2个一维数组(从1开始计数)的第3个元素(同样从1开始计数)。根据插入的数据,第2个一维数组是 {400, 500, 600},所以第3个元素是 600

int_array2[2:4] 表示从 int_array2 二维数组中的第2个一维数组开始到第4个一维数组结束的切片。由于 int_array2 只有三个一维数组,所以这个切片实际上只包含第2个和第3个一维数组:

  • 第2个一维数组是 {400, 500, 600}

  • 第3个一维数组是 {700, 800, 900}

 

limit

使用LIMIT子句可以限制查询结果的行数

分页查询 limit n,m

LIMIT n, m 语法用于实现分页查询,其中 n 是起始行号(从哪一行开始取数据),m 是要取的行数

第一个参数是偏移量(offset),表示从结果集中跳过的行数;第二个参数是要返回的行数(limit)

分组group by

普通分组 

属于多维分组

 grouping set 

rollup

ROLLUP 是一种用于生成多层次聚合结果的扩展分组操作。它允许你在一个查询中生成多个层次的小计和总计。ROLLUP 是 GROUP BY 子句的扩展,通常用于生成多维数据的汇总报告。 

 

rollup (item, year) 

首先按itemyear分组,提供每个产品每年的销售量

然后按item分组,提供每个产品的总销售量(汇总所有年份)

最终汇总,提供总销售量(汇总所有产品和年份)

遵循最左原则: 没有按year分组,提供每个年度的总销售量(汇总所有产品)


http://www.kler.cn/a/534487.html

相关文章:

  • 备考蓝桥杯嵌入式4:使用LCD显示我们捕捉的PWM波
  • 【C++】STL——stack的底层实现
  • 导入了fastjson2的依赖,但却无法使用相关API的解决方案
  • QT:信号和槽
  • FinRobot:一个使用大型语言模型的金融应用开源AI代理平台
  • Spring中@Conditional注解详解:条件装配的终极指南
  • 6.PPT:魏女士-高新技术企业政策【19】
  • ES6 变量解构赋值总结
  • PostgreSQL 数据库模式基础操作
  • 蓝桥杯三国游戏(贪心)
  • 面对全球化的泼天流量,出海企业如何观测多地域网络质量?
  • ASP.NET Core中间件的概念及基本使用
  • SpringCloud速通教程
  • Vue3状态管理: Pinia使用技巧与最佳实践
  • Ubuntn24.04安装
  • windows-蓝牙驱动开发-蓝牙软件无线电开关函数原型
  • vue2-mixin的定义与和使用
  • MySQL 进阶专题:自连接、子查询与合并查询的深入探讨
  • ImGui 学习笔记(二)—— 多视口
  • Rust 中的 Packages 与 Crates:模块化构建的基础
  • 【Uniapp-Vue3】Unicloud根据表结构将数据添加到数据库
  • 5. k8s二进制集群之ETCD集群部署
  • 深入学习基础结合博客
  • 【Golang学习之旅】Go 语言基础语法概览
  • All in one 的 AI tool Chain “Halomate”
  • RAG的原理及代码实战(1)基本原理