关注微信公共号:小程在线

关注CSDN博客:程志伟的博客

 ClickHouse server version 21.6.6

ClickHouse中没有ROW_NUMBER OVERDENSE_RANK OVER函数

需要借助特殊函数变相实现

1.创建表并插入数据;

insert into hanshu values ('aa',18,'nan'),('aa',19,'nan'),('aa',20,'nan'),('aa',19,'nv');

2.将分组的字段改为数组类型

select id,groupArray(age) as ranking from hanshu group by id;

3.利用arrayEnumerate函数得到排序。

select id,groupArray(age) as ranking,arrayEnumerate(ranking) as cnt  from hanshu group by id;

4.使用array join函数实现行列转换。

select * from (

select id,groupArray(age) as ranking,arrayEnumerate(ranking) as cnt

from hanshu group by id) a

array join cnt;

5.补充一点:arrayEnumerateDense函数实现dense_rank函数的功能

select * from (select id,groupArray(age) as ranking,arrayEnumerateDense(ranking) as cnt  from hanshu group by id) a array join cnt order by cnt;

Clickhouse 实现row_number、dense_rank相关推荐

  1. 【ClickHouse】row_number() over (partition by)的几种实现方法

    hive中有row_number() over (partition by)函数,可以一句SQL实现想要的排序,在ClickHouse中有很多种实现方式,本篇就介绍一下几种方法. 目录 1.row_n ...

  2. ClickHouse技术分享第二弹(英文讲义)

    前言 以下是今天为公司小伙伴们做的ClickHouse技术分享的讲义.由于PPT太难做了,索性直接用Markdown来写,搭配Chrome上的Markdown Preview Plus插件来渲染,效果 ...

  3. Clickhouse实战--开窗函数的使用(1)

    当我们需要求同比.环比,或则分组计算数据的最大值,最小值时,就需要用到窗口函数.Clickhouse也提供了很多的window函数.本文就来学习一下Clickhouse的window函数的使用. 官方 ...

  4. linux和shell

    whatis 加其他命令=查看其他命令用法 pwd 返回当前工作目录 ls列出当前目录内容,有哪些文件 ls -l 显示详细信息 ll ls -l -a 显示隐藏文件(以.开头) ls -l -a - ...

  5. 函数分类,HIVE CLI命令,简单函数,聚合函数,集合函数,特殊函数(窗口函数,分析函数,混合函数,UDTF),常用函数Demo

    1.1. 函数分类 1.2. HIVE CLI命令 显示当前会话有多少函数可用  SHOW FUNCTIONS; 显示函数的描述信息  DESC FUNCTION concat; 显示函数的扩展描述信 ...

  6. oracle计算最大与最小之间数,oracle 分析函数

    oracle分析函数,主要五大类 一等级函数:row_number();DENSE_RANK();Rank() 主要就是遇到相同排名时的区别, 查询各部门职位级别最高的2个人 select * fro ...

  7. oracle把多行合并成字符串,怎样将Oracle多行转换成字符串?

    在做一些比较复杂的DB数据导出时,有时会要求"将不固定的多行数据组合成一个字符串返回". 例子:ISV Portal中就遇到了类似的情况,要求对于每一个APP,返回其所属的所有类目 ...

  8. mysql怎么显示结果窗口_mysql8中窗口函数

    在以前的MySQL版本中是没有窗口函数的,直到MySQL8.0才引入了窗口函数.窗口函数是对查询中的每一条记录执行一个计算,并且这个计算结果是用与该条记录相关的多条记录得到的. 1.窗口函数与聚合函数 ...

  9. SQL常用的几个窗口函数

    这里记录一下刷题常用或者面试经常问到的几个窗口函数: 窗口函数的语法: 函数 over (partition by 用于分组的列名 order by 用于排序的列名) For instance: se ...

  10. mysql自定义变量比较大小_MySQL 自定义变量@ 常用案例

    以下文章来源于SQL开发与优化 大家好,我是知数堂SQL 优化班老师 网名:骑龟的兔子 很久没有写文章,最近碰到了一个非常有意思的Oracle SQL 案例, 这个案例,我用了一些窗口函数来解决的,后 ...

最新文章

  1. Mybatis执行过程源码分析
  2. 合并excel文件 C语言,再见Ctrl + C!合并100个Excel表格,只需30秒!
  3. ZetCode 杂项教程
  4. 抖音下拉框中的下拉词是怎么出来的?
  5. 使用doxygen查看文件包含关系图
  6. 数据中台公开课丨可以复用的中台架构建设经验与实践
  7. python+selenium+chrome driver 64位环境配置
  8. MySQL--Centos7下安装5.7.19
  9. 数据挖掘:计算边的中介中心值 edge_betweenness value
  10. Python制图——图片格式代码探索
  11. 使用PHP连接MySQL数据库的代码
  12. 设计师都在用这5个免费素材网站
  13. 外贸常用术语_13个常用的国际贸易术语详解
  14. js使用微信分享功能
  15. 关于transform-style:preserve-3d的些许明了
  16. Unity URP入门实战
  17. 计算机二级c++考试
  18. 分块9题【参考hzw】
  19. 程序人生 - 过来人经验:程序员怎么升职加薪,迎娶白富美
  20. 1990-2021年汇率年平均价数据

热门文章

  1. 路侧智慧泊车解决方案
  2. Android中加载SVGA格式图片
  3. Eclipse SVN插件Subversive的使用(分支,合并,同步,切换)
  4. 计算机中键盘可以共享吗,两个电脑怎么共用一个键盘
  5. 莫兰迪紫rgb_莫兰迪rgb参数_译述北京 | RGB的前世今生
  6. python win32api教程_winapi-如何在python中使用win32 API?
  7. 【干货】移动APP测试用例设计实践经验分享
  8. WinForm框架开发教程 - 如何实现简单化开发?
  9. java自动化高频面试题
  10. [WEB]超牛的前端页面模板收集