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

TDengine 选择函数 Max() 用户手册

在这里插入图片描述

MAX 函数用户手册

函数定义

MAX(expr)

功能说明

MAX() 函数是一个聚合函数,用于返回指定列或表达式在结果集中的最大值。该函数会忽略 NULL 值,只在所有值都为 NULL 时返回 NULL。

版本要求

  • 最低版本: v3.0.0.0

返回值

  • 数据类型: 与输入参数相同的数据类型
  • 返回内容: 结果集中的最大值

参数说明

参数类型说明取值范围
expr表达式要统计的字段表达式数值类型、字符串类型、时间戳类型

适用数据类型

根据源码分析,MAX 函数支持以下数据类型:

  • 数值类型: TINYINT、SMALLINT、INT、BIGINT、FLOAT、DOUBLE、UTINYINT、USMALLINT、UINT、UBIGINT、DECIMAL
  • 字符串类型: VARCHAR、NCHAR
  • 时间戳类型: TIMESTAMP
  • NULL 类型: 支持,但会被忽略

适用范围

  • 表类型: 表和超级表
  • 查询支持: 支持聚合查询、窗口查询(INTERVAL)
  • 函数特性: 聚合函数、选择函数、忽略 NULL 值、支持 TSMA

基本用法示例

单列查询

-- 查找电流的最大值
SELECT MAX(current) FROM meters;-- 查找电压的最大值
SELECT MAX(voltage) FROM meters;-- 查找相位的最大值
SELECT MAX(phase) FROM meters;

多列查询

-- 查找多个字段的最大值
SELECT MAX(current) as max_current,MAX(voltage) as max_voltage,MAX(phase) as max_phase
FROM meters;

字符串类型的最大值

-- 查找设备名称的最大值(按字典序)
SELECT MAX(device_name) FROM devices;

时间戳类型的最大值

-- 查找最新的时间戳
SELECT MAX(ts) as latest_timestamp FROM meters;

智能电表场景应用示例

基于智能电表数据库结构:

-- 数据库和表结构
USE test;
-- meters 超级表包含 ts, current, voltage, phase 字段和 location, groupid 标签

场景1:全局最大值查询

-- 查找所有电表中的最大电流值
SELECT MAX(current) as peak_current FROM meters;-- 查找所有电表中的最大电压值
SELECT MAX(voltage) as peak_voltage FROM meters;-- 查找最新的记录时间
SELECT MAX(ts) as latest_record_time FROM meters;

场景2:按区域分组的最大值

-- 查找每个区域的最大电流
SELECT location,MAX(current) as max_current,MAX(voltage) as max_voltage
FROM meters 
GROUP BY location;

场景3:按设备组分析

-- 查找每个设备组的峰值数据
SELECT groupid,location,MAX(current) as peak_current,MAX(voltage) as peak_voltage,MAX(phase) as max_phase,COUNT(*) as record_count
FROM meters 
GROUP BY groupid, location
ORDER BY peak_current DESC;

场景4:负载峰值分析

-- 分析各电表的负载峰值
SELECT tbname,location,MAX(current) as peak_load,MAX(voltage) as max_voltage,CASE WHEN MAX(current) > 25 THEN '高负载设备'WHEN MAX(current) > 15 THEN '中负载设备'ELSE '低负载设备'END as load_category
FROM meters 
GROUP BY tbname, location
ORDER BY peak_load DESC;

场景5:时间窗口内的峰值

-- 每小时的峰值电流
SELECT location,MAX(current) as hourly_peak_current,MAX(voltage) as hourly_peak_voltage
FROM meters 
INTERVAL(1h) GROUP BY location;-- 每天的峰值数据
SELECT location,MAX(current) as daily_peak_current,MAX(voltage) as daily_peak_voltage,MAX(ts) as last_record_time
FROM meters 
INTERVAL(1d) GROUP BY location;

场景6:电网负载监控

-- 监控电网各区域的负载峰值
SELECT location,MAX(current) as region_peak_load,COUNT(*) as device_count,CASE WHEN MAX(current) > 30 THEN '超负荷区域'WHEN MAX(current) > 20 THEN '高负荷区域'WHEN MAX(current) > 10 THEN '正常负荷区域'ELSE '低负荷区域'END as load_status
FROM meters 
GROUP BY location
ORDER BY region_peak_load DESC;

场景7:设备容量评估

-- 评估设备的最大使用容量
SELECT tbname,location,MAX(current) as max_current_usage,MAX(voltage) as max_voltage_reading,CASE WHEN MAX(current) > 20 THEN '接近容量上限'WHEN MAX(current) > 15 THEN '中等使用率'ELSE '使用率较低'END as capacity_assessment
FROM meters 
GROUP BY tbname, location
HAVING MAX(current) > 10  -- 只显示有一定负载的设备
ORDER BY max_current_usage DESC;

场景8:异常检测

-- 检测电压异常的设备
SELECT location,COUNT(*) as total_devices,MAX(voltage) as max_voltage,CASE WHEN MAX(voltage) > 250 THEN '存在过压风险'WHEN MAX(voltage) < 200 THEN '存在欠压问题'ELSE '电压正常'END as voltage_status
FROM meters 
GROUP BY location;

场景9:历史峰值对比

-- 对比不同时间段的峰值
SELECT location,MAX(current) as all_time_peak,MAX(CASE WHEN ts >= NOW() - 7d THEN current END) as week_peak,MAX(CASE WHEN ts >= NOW() - 1d THEN current END) as today_peak
FROM meters 
GROUP BY location
ORDER BY all_time_peak DESC;

场景10:综合性能指标

-- 设备综合性能评估
SELECT tbname,location,MAX(current) as peak_current,MAX(voltage) as peak_voltage,MAX(phase) as max_phase,COUNT(*) as data_points,MAX(ts) as last_update,CASE WHEN MAX(current) > 25 OR MAX(voltage) > 240 THEN '需要关注'WHEN MAX(current) > 15 AND MAX(voltage) BETWEEN 200 AND 240 THEN '运行良好'ELSE '运行正常'END as performance_status
FROM meters 
GROUP BY tbname, location
ORDER BY peak_current DESC, peak_voltage DESC;

与其他聚合函数组合使用

-- 同时查询最大值、最小值、平均值和计数
SELECT location,MAX(current) as max_current,MIN(current) as min_current,AVG(current) as avg_current,COUNT(*) as record_count
FROM meters 
GROUP BY location;-- 分析电流的分布情况
SELECT location,MAX(current) as peak_current,MIN(current) as min_current,MAX(current) - MIN(current) as current_range,CASE WHEN MAX(current) - MIN(current) > 15 THEN '电流波动大'WHEN MAX(current) - MIN(current) > 5 THEN '电流波动适中'ELSE '电流稳定'END as stability_assessment
FROM meters 
GROUP BY location;

注意事项

  1. NULL 值处理: MAX 函数自动忽略 NULL 值,只在所有值都为 NULL 时返回 NULL
  2. 字符串比较: 对于字符串类型,按字典序进行比较
  3. 数据类型一致性: 返回值的数据类型与输入参数保持一致
  4. 时间戳处理: 对于时间戳类型,返回最新(最大)的时间戳值
  5. 性能优化: 在有索引的列上使用 MAX 函数可以获得更好的性能
  6. 精度保持: 对于 DECIMAL 类型,返回值保持原有的精度和标度

相关函数

  • MIN(): 返回最小值
  • AVG(): 返回平均值
  • SUM(): 返回总和
  • COUNT(): 返回计数
  • TOP(): 返回最大的 k 个值
  • LAST(): 返回最后的非 NULL 值

关于 TDengine

TDengine 专为物联网IoT平台、工业大数据平台设计。其中,TDengine TSDB 是一款高性能、分布式的时序数据库(Time Series Database),同时它还带有内建的缓存、流式计算、数据订阅等系统功能;TDengine IDMP 是一款AI原生工业数据管理平台,它通过树状层次结构建立数据目录,对数据进行标准化、情景化,并通过 AI 提供实时分析、可视化、事件管理与报警等功能。


文章转载自:

http://I8aIExuj.pwdmz.cn
http://DeB5s1Wx.pwdmz.cn
http://uIR3Rv3o.pwdmz.cn
http://MMUayeiQ.pwdmz.cn
http://wNBceMFS.pwdmz.cn
http://K02ZjKuP.pwdmz.cn
http://8PObMHU9.pwdmz.cn
http://eQIQxiIl.pwdmz.cn
http://0MypGrHD.pwdmz.cn
http://oBJ4bQsZ.pwdmz.cn
http://3ylk7qJx.pwdmz.cn
http://TEz4RNkk.pwdmz.cn
http://zongs317.pwdmz.cn
http://VzGKAJWp.pwdmz.cn
http://QEEk6vaZ.pwdmz.cn
http://OBI3lopq.pwdmz.cn
http://RVEaskkk.pwdmz.cn
http://6aUHgLym.pwdmz.cn
http://DynHKn6n.pwdmz.cn
http://uUuV8rrG.pwdmz.cn
http://DCFTxGyS.pwdmz.cn
http://0bNI9R5V.pwdmz.cn
http://a01ocODo.pwdmz.cn
http://gKd0Y9pv.pwdmz.cn
http://V1g0CRYm.pwdmz.cn
http://H8MbJeaa.pwdmz.cn
http://wA6JMjjO.pwdmz.cn
http://Y0If3Or0.pwdmz.cn
http://ZNuZrLKi.pwdmz.cn
http://sFULpnfh.pwdmz.cn
http://www.dtcms.com/a/375742.html

相关文章:

  • 总结 IO、存储、硬盘、文件系统相关常识
  • MATLAB基于GM(灰色模型)与LSTM(长短期记忆网络)的组合预测方法
  • cnn,vit,mamba是如何解决医疗影像问题的
  • 数据库连接池:性能优化的秘密武器
  • 鸿蒙(HarmonyOS) 历史
  • 华为Ai岗机考20250903完整真题
  • 机器人控制器开发(文章总览)
  • 怎么选适合企业的RPA财务机器人?
  • Vite:Next-Gen Frontend Tooling 的高效之道——从原理到实践的性能革命
  • 常用优化器及其区别
  • 【Ansible】管理变量和事实知识点
  • 2025-09-08升级问题记录:app提示“此应用专为旧版Android打造..”或“此应用与最新版 Android 不兼容”
  • 网络通信的“地址”与“门牌”:详解IP地址与端口号的关系
  • 基于Python的旅游数据分析可视化系统【2026最新】
  • Nginx 优化与防盗链全解析:从性能调优到资源保护
  • 【AI】Tensorflow在jupyterlab中运行要注意的问题
  • (论文速读)从语言模型到通用智能体
  • 3-9〔OSCP ◈ 研记〕❘ WEB应用攻击▸利用REST API提权
  • Kafka面试精讲 Day 15:跨数据中心复制与灾备
  • 数据库之间如何同步
  • YOLO学习笔记
  • 3.Python高级数据结构与文本处理
  • LeetCode热题 42.接雨水
  • diffusion model(0.2) DDPM
  • 广州物业管理宣传片拍摄:以专业服务传递城市温度
  • 4、Python面向对象编程与模块化设计
  • 服务注册发现高可用设计:从三次典型雪崩事故到故障免疫体系
  • 功率放大器选型指南:从热耗散角度理解交直流电流限制
  • 基于野火F407开发板实现电源管理-睡眠模式
  • 【数组】长度最小的子数组