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 │
└──────┴───────────────────────────────────────┘
相关推荐
葡萄月令with蒲公英15 小时前
使用clickhouse_connect从csv导入数据到clickhouse报错
clickhouse
韩金群3 天前
centos离线安装配置clickhouse
linux·clickhouse·centos
谷新龙0016 天前
pg_clickhouse插件,在postgresql中借助clickhouse借用OLAP能力
数据库·clickhouse·postgresql
wending-Y6 天前
clickhouse 物化视图数据查询不稳定分析
clickhouse
l1t9 天前
PostgreSQL pg_clickhouse插件的安装和使用
数据库·clickhouse·postgresql·插件
honder试试10 天前
Springboot实现Clickhouse连接池的配置和接口查询
spring boot·后端·clickhouse
Mr_wilson_liu10 天前
通过DBeaver22.0.5 连接数据库ck(clickhouse)、pg(postgres)
数据库·clickhouse
波波仔8612 天前
clickhouse表存储引擎
clickhouse·表存储引擎
波波仔8612 天前
clickhouse存储和分区
clickhouse·排序·分区
波波仔8612 天前
clickhouse insert与update区别
clickhouse·insert·update