专业的编程技术博客社区

网站首页 > 博客文章 正文

ClickHouse技术分享(clickhouse tdengine)

baijin 2024-10-17 07:47:10 博客文章 10 ℃ 0 评论

https://clickhouse.com/docs/en/sql-reference

概述

CK采用多主架构,集群中的每个节点角色对等,客户端访问任意一个节点都能得到相同的效果。

https://blog.csdn.net/Luomingkui1109/article/details/107903378


引擎介绍

https://blog.csdn.net/u011047968/article/details/129789309

SQL

基础语法

数据类型

https://www.cnblogs.com/gcwell/p/15518780.html

日期与字符串转换

Decimal

ClickHouse对Decimal提供三种简写: Decimal32,Decimal64,Decimal128

  • 相加、减精度取大,两数相加减,结果的精度取精度大的
gcw1 :) SELECT toDecimal32(1, 3) + toDecimal32(2, 2) ;

SELECT toDecimal32(1, 3) + toDecimal32(2, 2)
┌─plus(toDecimal32(1, 3), toDecimal32(2, 2))─┐
│                                      3.000 │
└────────────────────────────────────────────┘
  • 相乘精度取和
gcw1 :) SELECT toDecimal32(1, 3) * toDecimal32(2, 2) ;

SELECT toDecimal32(1, 3) * toDecimal32(2, 2)
┌─multiply(toDecimal32(1, 3), toDecimal32(2, 2))─┐
│                                        2.00000 │
└────────────────────────────────────────────────┘
  • 相除精度取被除数
gcw1 :) SELECT toDecimal32(1, 3) / toDecimal32(2, 2) ;

SELECT toDecimal32(1, 3) / toDecimal32(2, 2)
┌─divide(toDecimal32(1, 3), toDecimal32(2, 2))─┐
│                                        0.500 │
└──────────────────────────────────────────────┘

创建副本表的例子

创建副本表的例子
 
-- 1. 新建表的例子 ,只需改表名即可
create table test_data.t_test_rep ON CLUSTER '{cluster}' (
   id UInt32,
    sku_id String,
    total_amount Decimal(16,2), create_time Datetime
 ) engine =ReplicatedMergeTree('/clickhouse/table/{shard}/t_test_rep','{replica}')
  partition by toYYYYMMDD(create_time)
  primary key (id)
  order by (id);

查询

group by

ck中group by后面有几个字段,查询中除聚合函数之外,不能出现其他的字段,Oracle等也是这样,但是mysql不需要。

从专业规范角度,最好遵从写全的原则。


extract

从指定字段中提取,支持正则表达式

比如我要从IP:127.0.0.1中提取出前三位

extract(ipInfo, '(\d+\.\d+\.\d+\.)')

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表