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

19、ClickHouse企业中常见的20种用法

文章目录

  • 19、ClickHouse企业中常见的20种用法
    • -- 1、表结构添加字段
    • -- 2、删除语句
    • -- 3、更新语法
    • -- 4、查询表字段结构
    • -- 5、展示字段加密处理 身份证号(字母加数字)加密
    • -- 6、展示字段加密处理 手机号(纯数字)加密
    • -- 7、计数 去重后
    • -- 8、计数 不去重
    • -- 9、运算 divide--除法 *--乘法
    • -- 10、模糊查询
    • -- 11、变量设置
    • -- 12、日期转换后 与变量范围匹配
    • -- 13、字符串切割 保留前两位
    • -- 14、求和
    • -- 15、转为日期类型 java long类型clickhouse DateTime64(3, 'Asia/Shanghai')类型
    • -- 16、查询阻塞的sql
    • -- 17、将阻塞的sql杀掉
    • -- 18、分组
    • -- 19、排序
    • -- 20、WHEN...THEN...

19、ClickHouse企业中常见的20种用法

– 1、表结构添加字段

-- 表结构添加字段之添加字符串
DROP TABLE  dev_nanmu.user ON CLUSTER `default` ;
ALTER TABLE dev_nanmu.user_local  ON CLUSTER `default`
ADD COLUMN `balance` Float64,
ADD COLUMN `time` String,
ADD COLUMN `createTime` DateTime64(3, 'Asia/Shanghai');
CREATE TABLE dev_nanmu.user ON CLUSTER `default` AS dev_nanmu.user_local ENGINE = Distributed('default', 'dev_nanmu.user', 'dev_nanmu.user_local', toYYYYMM(timestamp));

– 2、删除语句

ALTER TABLE `dev_nanmu`.`user_local` ON CLUSTER `default` DELETE where `name`='张三';

– 3、更新语法

alter table `dev_nanmu`.`user_local` ON CLUSTER `default` update `confirmTime`='2022-12-02 15:26:06' where `name` = '张三';

– 4、查询表字段结构

describe table dev_nanmu.user;

– 5、展示字段加密处理 身份证号(字母加数字)加密

if(empty(`user`.`idCardNo`) = 1, '', replaceRegexpOne(`user`.`idCardNo`, '(\\w{6})(\\w{8})(\\w{3})(\\w{1})', '\\1********\\3*')) AS `证件号`

– 6、展示字段加密处理 手机号(纯数字)加密

replaceRegexpOne(`user`.`mobile`, '(\\d{3})(\\d{4})(\\d{4})', '\\1****\\3') AS `联系方式`

– 7、计数 去重后

uniq(if((`user`.`name` ='张三' or `user`.`name` ='李四'),`user`.mobile,null)) as user_count

– 8、计数 不去重

count(if((`user`.`name` ='报价成功' or `user`.`name` ='报价失败'),`user`.mobile,null)) AS user_count

– 9、运算 divide–除法 *–乘法

concat(if(user_valid_count = 0,'0',toString(floor(divide(user_valid_count * 100, user_count),1))),'%') as user_valid_rate

– 10、模糊查询

WHERE like(`user`.`name`, '%三')

– 11、变量设置

and {{userType}}

– 12、日期转换后 与变量范围匹配

[[ and toDate(`user` .`timestamp`) >= {{start}} ]] [[ and toDate(`user` .`timestamp`) <= {{end}} ]]

– 13、字符串切割 保留前两位

substring(`user`.`name`,1,6) `名称`

– 14、求和

sum(if((`user`.`name` ='张三'),`user`.amount,null)) AS amount

– 15、转为日期类型 java long类型clickhouse DateTime64(3, ‘Asia/Shanghai’)类型

toDate(`bcs` .`timestamp`)

– 16、查询阻塞的sql

select * from system.mutations where is_done  = 0;

– 17、将阻塞的sql杀掉

KILL MUTATION WHERE database = 'aaa' AND table = 'user';

– 18、分组

group by user.userType,formatDateTime(toDate(`user`.`timestamp`),'%Y-%m')

– 19、排序

order by toDate(`user` .`timestamp`), `bcs`.`userType`  desc;

– 20、WHEN…THEN…

WHEN `user`.`userType` = '企业A' THEN '企业' WHEN `user`.`userType` = '企业B' THEN '企业'
http://www.lryc.cn/news/9643.html

相关文章:

  • 怎么样用香港主机搭建游戏网站
  • 重磅!GitLab 提出五大预测,洞见 2023 年 DevSecOps 发展趋势
  • 内核模块(传参和依赖)
  • 基础篇:03-SpringCloud工程部署启动
  • 二、产品经理——【需求收集】【需求管理】
  • 蓝桥杯stm32 USART 串口接收数据
  • CellularAutomata元胞向量机-9-生命游戏MATLAB代码分享
  • 基于Java+Swing+mysql图书管理系统
  • 高通IPQ支持串口转RS485
  • 力扣-组合两个表
  • Linux权限概念
  • 备战金三银四,这些无数测试前辈们踩过的坑,在面试中,一定要注意这些
  • 注解(加与不加的区别)
  • 小众免费的短视频素材库
  • docker-compose安装SonarQube
  • 《数字经济全景白皮书》金融篇:五十弦翻塞外声,金融热点领域如何实现增长?
  • 微服务门神-Gateway与Sentinel的集成
  • 查找的基本概念
  • 安装v-router出错
  • 2023美赛C题:预测 Wordle 结果
  • minio public桶禁止在直接访问桶位置时列出所有文件url
  • Python 元组简介
  • python gui构造openai api可视化页面
  • 服务网格领域的百花齐放,是否存在一个更优解?
  • Zynq 裸机 PS + PL 双网口实现之 lwip 库文件修改
  • 金三银四丨黑蛋老师带你剖析-CTF岗
  • Linux find命令
  • vue项目实现会议预约(包含某天的某个时间段和某月的某几天)
  • javacv桌面推送 通过推送和拉取udp组播视频流实现
  • 2022年直播电商成交额,更是达到了24816亿元的成交额