Clickhouse 窗口函数总结——Clickhouse 基础篇(九)

文章目录

    • 自增行号函数
    • 跳跃排名函数
    • 连续排名函数
    • 窗口计数函数
    • 窗口最大值函数
    • 窗口最小值函数
    • 窗口平均值函数

自增行号函数

  • 按照值排序时产生一个自增行号,不会重复。针对相同数据,先查出的排名在前,没有重复值
SELECT row_number() OVER (PARTITION BY EventDate ORDER BY cnt ASC) AS rno,OS,EventDate,cnt
FROM 
(SELECTOS,cnt,EventDateFROM (SELECTEventDate,OS,uniqExact(UserID) AS cntFROM tutorial.hits_v1GROUP BYEventDate, OS) AS t
) AS T
limit 20

跳跃排名函数

  • 跳跃排名,值相等时会重复,会产生空位。相同数据排名相同,比如并列第1,则两行数据(这里为rank列)都标为1,下一位将是第3名,中间的2被直接跳过了。排名存在重复值。
SELECT rank() OVER (PARTITION BY EventDate ORDER BY cnt ASC) AS rno,OS,EventDate,cnt
FROM 
(SELECTOS,cnt,EventDateFROM (SELECTEventDate,OS,uniqExact(UserID) AS cntFROM tutorial.hits_v1GROUP BYEventDate, OS) AS t
) AS T
limit 20

连续排名函数

  • 连续排名,值相等时会重复,不会产生空位。比如两条并列第1,则两行数据(这里为rank列)都标为1,下一个排名将是第2名。
SELECT dense_rank() OVER (PARTITION BY EventDate ORDER BY cnt ASC) AS rno,OS,EventDate,cnt
FROM 
(SELECTOS,cnt,EventDateFROM (SELECTEventDate,OS,uniqExact(UserID) AS cntFROM tutorial.hits_v1GROUP BYEventDate, OS) AS t
) AS T
limit 20

窗口计数函数

SELECTnumber AS x,count() OVER (PARTITION BY intDiv(x, 3) ORDER BY x ASC) AS cnt
FROM numbers(10)
SETTINGS max_block_size = 3Query id: dfeb20ae-1745-4496-877d-74d8aea95414┌─x─┬─cnt─┐
│ 01 │
│ 12 │
│ 23 │
└───┴─────┘
┌─x─┬─cnt─┐
│ 31 │
│ 42 │
│ 53 │
└───┴─────┘
┌─x─┬─cnt─┐
│ 61 │
│ 72 │
│ 83 │
└───┴─────┘
┌─x─┬─cnt─┐
│ 91 │
└───┴─────┘

窗口最大值函数

SELECTnumber AS x,max(x) OVER (PARTITION BY intDiv(x, 3) ORDER BY x DESC) AS cnt
FROM numbers(10)
SETTINGS max_block_size = 3Query id: bdb8038f-0d2e-442b-a4fd-258787f5738f┌─x─┬─cnt─┐
│ 22 │
│ 12 │
│ 02 │
└───┴─────┘
┌─x─┬─cnt─┐
│ 55 │
│ 45 │
│ 35 │
└───┴─────┘
┌─x─┬─cnt─┐
│ 88 │
│ 78 │
│ 68 │
└───┴─────┘
┌─x─┬─cnt─┐
│ 99 │
└───┴─────┘

窗口最小值函数

SELECTnumber AS x,MIN(x) OVER (PARTITION BY intDiv(x, 3) ORDER BY x ASC) AS cnt
FROM numbers(10)
SETTINGS max_block_size = 3Query id: e763ce9f-3eba-40a6-ad78-b0ae20dcfdda┌─x─┬─cnt─┐
│ 00 │
│ 10 │
│ 20 │
└───┴─────┘
┌─x─┬─cnt─┐
│ 33 │
│ 43 │
│ 53 │
└───┴─────┘
┌─x─┬─cnt─┐
│ 66 │
│ 76 │
│ 86 │
└───┴─────┘
┌─x─┬─cnt─┐
│ 99 │
└───┴─────┘

窗口平均值函数

SELECTnumber AS x,avg(x) OVER (PARTITION BY intDiv(x, 3) ORDER BY x ASC) AS cnt
FROM numbers(10)
SETTINGS max_block_size = 3Query id: c9b8ab1b-8a6f-4191-a248-f8a589becb5a┌─x─┬─cnt─┐
│ 00 │
│ 10.5 │
│ 21 │
└───┴─────┘
┌─x─┬─cnt─┐
│ 33 │
│ 43.5 │
│ 54 │
└───┴─────┘
┌─x─┬─cnt─┐
│ 66 │
│ 76.5 │
│ 87 │
└───┴─────┘
┌─x─┬─cnt─┐
│ 99 │
└───┴─────┘

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/18321.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql-集群-二进制部署

所有主机上操作 一、环境清理 yum erase $(rpm -qa | grep mysql) -y ; yum erase $(rpm -qa | grep mariadb) -y ##安装epel拓展源 yum install epel-release -y 然后开始搞信任进行相互传输 ssh root192.168.171.18 ##二进制安装包上传到这里 mkdir /soft cd /soft 含有ws…

git保持账号密码一键拉取并检查运行权限为www用户775

macos 使用zenTermLite 保持账号密码 下面是保持账号密码1000小时不过期 git config --global credential.helper cache git config --global credential.helper cache --timeout360000通过脚本一键部署并检查www权限 这是在zenTermLite工具中快捷命令实现的,其中注意yourp…

面试阿里算法岗,艰难走到终面了。。。

节前,我们组织了一场算法岗技术&面试讨论会,邀请了一些互联网大厂朋友、今年参加社招和校招面试的同学。 针对大模型技术趋势、大模型落地项目经验分享、新手如何入门算法岗、该如何准备面试攻略、面试常考点等热门话题进行了深入的讨论。 总结链接…

3D透视图转的时候模型闪动怎么解决?---模大狮模型网

在3D建模与渲染的世界中,透视图是我们观察和操作模型的重要窗口。然而,有时候在旋转透视图时,模型会出现闪动的现象,这不仅影响了我们的工作效率,还可能对最终的渲染效果产生负面影响。本文将探讨这一问题的成因&#…

prompt提示词:如何让AI帮你提一个好问题

我们看完一篇文章的时候,有时候发给AI后,不知道如何问AI,不知道问哪些问题,你使用这个提示词,就可以让AI帮你想一个好问题,然后你用AI想好的问题再去问AI 能提出一个好的问题是非常难的 提示词 结合文章…

Elasticsearch8.13.4版本的Docker启动关闭HTTPS

博主环境是&#xff1a; 开发环境&#xff1a;SpringbootElasticSearch客户端对应的starter 2.6.3版本 maven配置 <!-- ElasticSearch --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-elas…

计算机体系结构-2024期末考试

前言 最后一个字落笔&#xff0c;虽然知道并没有发挥到最好&#xff0c;内心还是感慨良多。 真正意义上本科阶段的课程考试&#xff0c;到此就结束了。 正如青春总有不完美的地方&#xff0c;此刻思绪竟飘到了三年前的盛夏&#xff0c;那个骄傲的少年。 扯远了&#xff0c;…

基于双PI结构FOC闭环控制的永磁同步电机控制系统simulink建模与仿真

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 5.完整工程文件 1.课题概述 基于双PI结构FOC闭环控制的永磁同步电机控制系统simulink建模与仿真。 2.系统仿真结果 3.核心程序与模型 版本&#xff1a;MATLAB2022a 64 4.系统原理简介 永磁同步电机&a…

WDK中-czwebfg的作用

WDK中build -czwebfg 后面的czwebfg是&#xff1f; 在 Windows Driver Kit (WDK) 中&#xff0c;build 命令用来编译驱动程序。build 命令可以带有多个选项&#xff0c;这些选项可以用来控制编译过程。build 命令后面的 -czwebfg 是一组编译选项&#xff0c;每个字母代表一个…

基于遗传优化的货柜货物摆放优化问题求解matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 5.完整程序 1.程序功能描述 基于遗传优化的货柜货物摆放优化问题求解matlab仿真。在一个货架上&#xff0c;初始状态下&#xff0c;随机将货物放在货柜上&#xff0c;优化之后&#xff0c;整…

(delphi11最新学习资料) Object Pascal 学习笔记---第13章第3节 (弱引用是系统托管的 )

13.4.2 弱引用是系统托管的 ​ 弱引用的托管是一个非常重要的内容。换句话说&#xff0c;系统会在内存中保存一个弱引用列表&#xff0c;当对象被销毁时&#xff0c;系统会检查是否有任何弱引用指向该对象&#xff0c;如果有&#xff0c;系统会将实际引用赋值为 nil&#xff0…

Thinkphp5响应式进销存仓库管理系统

随着企业规模的不断扩大和市场竞争的日益激烈&#xff0c;进销存管理在企业的运营中扮演着越来越重要的角色。为了提高企业的运营效率&#xff0c;降低库存成本&#xff0c;提升客户满意度&#xff0c;越来越多的企业开始引入进销存仓库管理系统。 进销存仓库管理系统是一种集…

【go从入门到精通】精通并发编程-使用atomic管理状态和同步的无锁技术

了解原子计数器 在 Go 中,原子计数器是多个 goroutine 可以同时访问的共享变量。术语“原子”是指在计数器上执行的操作的不可分割的性质。在 Go 中,原子计数器允许多个 goroutine 安全地更改共享变量,而无需使用锁或任何其他显式同步,这可确保数据完整性并避免竞争条件。 …

Gradle的学习

1.1 Gradle的优势 一款最新的&#xff0c;功能最强大的构建工具&#xff0c;用它逼格更高 使用Groovy或Kotlin代替XML&#xff0c;使用程序代替传统的XML配置&#xff0c;项目构建更灵活 丰富的第三方插件&#xff0c;让你随心所欲使用 完善Android,Java开发技术体系 1.2 …

【JavaScript】P4 什么是变量,变量的声明与赋值

目录 1 变量是什么2 变量的操作2.1 声明变量2.2 变量赋值 3 变量命名规范 1 变量是什么 变量是容器&#xff0c;用于存放数据。数据的类型不定&#xff0c;可以是整数&#xff0c;可以是字符串&#xff0c;可以是浮点数…而变量的本质&#xff0c;则是在内存中开辟一个小的空间…

Unity3D 基于ILRuntime热更框架设计详解

ILRuntime是一个基于C#的热更框架&#xff0c;可以在运行时动态加载C#脚本&#xff0c;实现热更新功能。在本文中&#xff0c;我们将详细介绍如何在Unity3D中使用ILRuntime框架进行热更&#xff0c;并给出具体的技术实现和代码示例。 对惹&#xff0c;这里有一个游戏开发交流小…

EasyDarwin全面指南:从基础到高级应用

本指南全面介绍了EasyDarwin开源流媒体平台框架&#xff0c;包括其历史、架构、功能、部署、使用教程以及社区支持。适合初学者和专业人士深入了解和应用EasyDarwin。 文章目录 EasyDarwin基础介绍EasyDarwin是什么EasyDarwin的历史和发展EasyDarwin的功能和应用场景EasyDarwin…

[Algorithm][动态规划][子数组/子串问题][最大子数组和][环形子数组的最大和][乘积最大子数组][乘积为正数的最长子数组长度]详细讲解

目录 1.最大子数组和1.题目链接2.算法原理详解3.代码实现 2.环形子数组的最大和1.题目链接2.算法原理详解3.代码实现 3.乘积最大子数组1.题目链接2.算法原理详解3.代码实现 4.乘积为正数的最长子数组长度1.题目链接2.算法原理详解3.代码实现 1.最大子数组和 1.题目链接 最大子…

CSS(七)

文章目录 CSS&#xff08;七&#xff09;1. 精灵图&#xff08;重点&#xff09;1.1 为什么需要精灵图1.2 精灵图&#xff08;sprites&#xff09;的使用1.3 案例&#xff1a;拼出自己名字1.3.1 案例效果1.3.2 代码参考 2. 字体图标2.1 字体图标的产生2.2 字体图标的优点**2.3*…

物联网Python项目开发实战:智能种植系统

注意:本文的下载教程,与以下文章的思路有相同点,也有不同点,最终目标只是让读者从多维度去熟练掌握本知识点。 下载教程: 物联网Python项目开发实战-智能物联网种植系统-编程案例解析实例详解课程教程.pdf 一、引言 随着物联网技术的快速发展,其在农业领域的应用越来越广…