首页 > 数据库 >clickhouse数据库,时间范围一周,周期为每一小时,聚合数据中的最新,最大值,最小值,平均值,求和运算的SQL

clickhouse数据库,时间范围一周,周期为每一小时,聚合数据中的最新,最大值,最小值,平均值,求和运算的SQL

时间:2024-11-08 14:23:22浏览次数:1  
标签:timeInterval INTERVAL SQL report 最小值 time usage WHERE clickhouse

工作中通过ai改来改去最后实现的,非常好用

databaseVal举例:1 HOUR

interval:1 WEEK

最新,这里用到了ROW_NUMBER,就是编号,OVER就是分组,分组是通过一小时聚合,聚合后会有编号每一个组的,从1开始到该组结束,取每组的第一条就是最新的

SELECT report_time AS timeInterval, cpu_usage AS cpuUsage, mem_usage AS memUsage
        FROM (SELECT report_time,
                     cpu_usage,
                     mem_usage,
                     ROW_NUMBER() OVER (
                         PARTITION BY
                             toStartOfInterval(report_time, INTERVAL #{databaseVal})
                         ORDER BY
                             report_time DESC
                         ) as rn
              FROM CLOUD_NETWORK_VISUAL.T_AGENT_PERFORMANCE
              WHERE agent_id = #{agentId}
                AND report_time >= NOW() - INTERVAL #{interval}) t
        WHERE rn = 1
        ORDER BY report_time

最大值

SELECT toStartOfInterval(report_time, INTERVAL #{databaseVal}) AS timeInterval,
               max(cpu_usage)                                             FILTER (WHERE cpu_usage IS NOT NULL) AS cpuUsage, max(mem_usage) FILTER (WHERE mem_usage IS NOT NULL) AS memUsage
        FROM CLOUD_NETWORK_VISUAL.T_AGENT_PERFORMANCE
        WHERE agent_id = #{agentId}
          AND report_time >= NOW() - INTERVAL #{interval}
        GROUP BY timeInterval
        ORDER BY timeInterval

 

标签:timeInterval,INTERVAL,SQL,report,最小值,time,usage,WHERE,clickhouse
From: https://www.cnblogs.com/immersed-in-the-deep-sea/p/18534971

相关文章

  • SQL Server 数据太多如何优化dK
    大家好,我是V哥。讲了很多数据库,有小伙伴说,SQLServer也讲一讲啊,好吧,V哥做个听话的门童,今天要聊一聊SQLServer。在SQLServer中,当数据量增大时,数据库的性能可能会受到影响,导致查询速度变慢、响应时间变长等问题。为了应对大量数据,以下是一些常用的优化策略和案例详解,写......
  • mysql分区表占用大量容量处理(优化)及归档分区表
    背景生产环境中,某个分区表两三年了,占用磁盘1T多,需要对前几年的数据做归档点击查看代码SELECTtable_schemaas'数据库',table_nameas'表名',table_rowsas'记录数',truncate(data_length/1024/1024,2)as'数据容量(MB)',truncate(index_length/1024/1024......
  • MySQL面试题
    文章目录目录文章目录1.什么是内连接、外连接、交叉连接、笛卡尔积呢?2.那MySQL的内连接、左连接、右连接有有什么区别?3.说一下数据库的三大范式?4.varchar与char的区别?5.blob和text有什么区别?6.DATETIME和TIMESTAMP的异同?7.MySQL中in和exists的区别?8.MyS......
  • MySQL储存过程控制语句
    一.条件语句1.if-then-else语句DECLARE局部变量    DEFAULT默认值语法:IF条件THEN语句列表;(如果第一条为true,就执行成功)ELSEIF条件 THEN语句列表;(如果第一条为false,就执行第二条)ELSE语句列表; (如果上面都是false,这句话就是否则,最终执行)ENDIF;(这是......
  • Kubernetes 中实现 MySQL 的读写分离
    Kubernetes中实现MySQL的读写分离在Kubernetes中实现MySQL的读写分离,可以通过主从复制架构来实现。在这种架构中,MySQL主节点(Master)负责处理所有写操作,而MySQL从节点(Slave)负责处理所有读操作。下面是一个详细的步骤指南:步骤1:创建Kubernetes集群确保你有一个运行良......
  • 利用FreeSql.Generator自动根据数据库表动态生成实体类
    安装dotnettoolinstall-gFreeSql.Generator示例FreeSql.Generator-Razor1-NameOptions0,0,0,1-NameSpaceLinCms.Core.Entities-DB"MySql,DataSource=127.0.0.1;Port=3306;UserID=root;Password=123456;InitialCatalog=lincms;Charset=utf8;SslMode=none;M......
  • 【GreatSQL优化器-01】const_table
    【GreatSQL优化器-01】const_table一、const_table介绍GreatSQL的优化器主要用JOIN类来进行处理SQL语句的,JOIN类有以下四个table数量相关的成员变量。其中const_tables是optimize最开始就检查并且标识的,因为这样可以把记录最少的表放在执行计划的第一步,在后面的执行计划里面这......
  • Sqlsugar调用Oracle的存储过程
    前段时间在搬迁项目的时候,遇到一个问题,就是用sqlsugar调用oracle的存储过程的时候调用不了;当时卡了一整天,现在有空了把这个问题记录分享一下。先去nuget上安装一下sqlsugar的包:再安装一个oracle的驱动:添加一下Json包:再去创建一下连接 再创建一个测试用的存储过程crea......
  • Ubuntu 24.04 二进制安装 MySQL 8.0.20
    相关资料操作系统:Ubuntu24.04数据库下载地址:https://cdn.mysql.com/archives/mysql-8.0/mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz部署#安装必要的依赖apt-yinstallnumactllibaio1t64-yln-sv/usr/lib/x86_64-linux-gnu/libtinfo.so.6.4/usr/lib/x86_64-li......
  • MySQL 正则表达式
    简介MySQL正则表达式概述MySQL正则表达式是一种强大的文本匹配工具,允许执行复杂的字符串搜索和处理。它使用REGEXP、RLIKE和REGEXP_LIKE()函数进行模式匹配,提供了灵活的方式来处理各种文本数据。正则表达式特别适用于模糊查询、模式匹配和文本分析场景,在数据库管理和应......