Clickhouse 嵌套数据类型总结—— Clickhouse 基础篇(三)

文章目录

创建嵌套类型的表

sql 复制代码
CREATE TABLE mydb.student_grades
(
  ID UInt64,
  Name String,
  CourseScore Nested
  (
    course String,
    score Float64
  )
) ENGINE = MergeTree()
ORDER BY (ID, Name);

插入读取数据

sql 复制代码
insert into mydb.student_grades (ID, Name, `CourseScore.course`, `CourseScore.score`)
values (1, '浩轩', ['语文', '数学'], [95.1, 96]),
       (2, '语轩', ['语文', '数学'], [94.1, 97]);

查询:

sql 复制代码
SELECT * FROM mydb.student_grades where Name = '浩轩';

####################################################
┌─ID─┬─Name─┬─CourseScore.course─┬─CourseScore.score─┐
│  1 │ 浩轩 │ ['语文','数学']    │ [95.1,96]         │
└────┴──────┴────────────────────┴───────────────────┘

SELECT CourseScore.score FROM mydb.student_grades where Name = '浩轩';
#####################################
┌─CourseScore.score─┐
│ [95.1,96]         │
└───────────────────┘

在嵌套类型上使用数组函数

计算每个人的平均分

sql 复制代码
SELECT t.Name, arrayReduce('avg', t.CourseScore.score) 
FROM mydb.student_grades as t;

#########################
┌─Name─┬─arrayReduce('avg', CourseScore.score)─┐
│ 浩轩 │                                 95.55 │
│ 语轩 │                                 95.55 │
└──────┴───────────────────────────────────────┘
相关推荐
MMMMMMMMMMemory4 天前
clickhouse迁移工具clickhouse-copier
clickhouse
securitor4 天前
【clickhouse】设置密码
clickhouse
天道有情战天下6 天前
ClickHouse使用Docker部署
clickhouse·docker·容器
冷雨夜中漫步8 天前
ClickHouse常见问题——ClickHouseKeeper配置listen_host后不生效
java·数据库·clickhouse
qq_339191148 天前
docker 启动一个clickhouse , docker 创建ck数据库
clickhouse·docker·容器
Kookoos10 天前
ABP + ClickHouse 实时 OLAP:物化视图与写入聚合
clickhouse·c#·linq·abp vnext·实时olap
喂完待续11 天前
【Big Data】AI赋能的ClickHouse 2.0:从JIT编译到LLM查询优化,下一代OLAP引擎进化路径
大数据·数据库·clickhouse·数据分析·olap·big data·序列晋升
阿里云大数据AI技术19 天前
鹰角网络基于阿里云 EMR Serverless StarRocks 的实时分析工程实践
starrocks·clickhouse·阿里云·emr·实时分析
更深兼春远22 天前
flink+clinkhouse安装部署
大数据·clickhouse·flink