TDengine 窗口完整语法 — INTERVAL/SESSION/STATE/EVENT/COUNT 详解
分类10.SQL 参考 |篇章05 窗口完整语法适用版本TDengine v3.xv3.3.x / v3.4.x | 最后更新2026-07-18窗口子句是 TDengine 最具特色的语法。本文按窗口类型逐一详解语法、参数、约束、典型使用模式。窗口语法速查类型语法INTERVALINTERVAL(duration [, offset]) [SLIDING(duration)]SESSIONSESSION(ts_column, gap)STATESTATE_WINDOW(state_column)EVENTEVENT_WINDOW START WITH expr END WITH exprCOUNTCOUNT_WINDOW(count [, sliding_count])FILLFILL(NULL详细解析1. INTERVAL 完整语法INTERVAL(duration[,offset])[SLIDING(duration)][FILL(...)]-- duration: 窗口时长支持 b/u/a/s/m/h/d/w/n/y-- offset: 起始偏移用于非自然对齐-- SLIDING: 滑动步长必须 ≤ INTERVAL-- 示例INTERVAL(1m)-- 每分钟INTERVAL(1h)-- 每小时00:00 对齐INTERVAL(1d)-- 每天00:00 当地时间INTERVAL(1d,8h)-- 每天但从 08:00 开始INTERVAL(1h)SLIDING(15m)-- 1 小时窗口每 15 分钟一个INTERVAL(5m)SLIDING(1m)-- 5 分钟窗口每分钟产出-- 时间单位-- b: 纳秒 (ns)-- u: 微秒 (us)-- a: 毫秒 (ms)-- s: 秒-- m: 分钟-- h: 小时-- d: 天-- w: 周-- n: 月-- y: 年2. SESSION 窗口SESSION(ts_column,gap)-- ts_column: 时间列通常 ts-- gap: 会话切分阈值-- 示例SESSION(ts,30m)-- 30 分钟无数据切分SESSION(ts,1h)-- 1 小时切分-- 用法SELECT_wstart,_wend,COUNT(*),MAX(value)FROMeventsSESSION(ts,30m);-- 行为-- 相邻两行 ts 差 gap → 切分新窗口-- 数据稀疏时窗口少密集时窗口多3. STATE 窗口STATE_WINDOW(state_column)-- state_column: 状态列整数或字符串-- 示例SELECT_wstart,_wend,status,COUNT(*)FROMmachine_log STATE_WINDOW(status);-- 行为-- state_column 值变化 → 切分窗口-- 同一值连续行合并为一个窗口-- 约束-- state_column 不能是 TIMESTAMP/FLOAT-- 必须是 INT 或 VARCHAR/NCHAR4. EVENT 窗口EVENT_WINDOWSTARTWITHexpressionENDWITHexpression-- expression: 任意布尔表达式基于行数据-- 示例SELECT_wstart,_wend,MAX(temperature)FROMsensor EVENT_WINDOWSTARTWITHtemperature80ENDWITHtemperature60;-- 行为-- 满足 START 条件 → 窗口开始-- 满足 END 条件 → 窗口结束-- 期间所有行属于该窗口-- 注意-- 同一行可能同时满足 START 和 END-- 不在窗口期内的数据被忽略5. COUNT 窗口COUNT_WINDOW(count[,sliding_count])-- count: 窗口大小行数-- sliding_count: 滑动行数可选-- 示例COUNT_WINDOW(100)-- 每 100 行一个窗口COUNT_WINDOW(100,50)-- 滑动 50 行-- 行为-- 累积 count 行后输出窗口-- 不依赖时间按行数-- 适合等量采样6. FILL 选项-- 仅 INTERVAL/SESSION 等时间相关窗口支持INTERVAL(1h)FILL(fill_mode)-- fill_mode:FILL(NULL)-- 空窗口为 NULLFILL(VALUE,0)-- 空窗口为指定值FILL(VALUE,0,1)-- 多列分别指定FILL(PREV)-- 复用前值FILL(NEXT)-- 用后值FILL(LINEAR)-- 线性插值FILL(NONE)-- 跳过空窗口默认-- 示例SELECT_wstart,AVG(current)FROMmetersWHEREtsnow-1hINTERVAL(1m)FILL(LINEAR);-- LINEAR 需要前后非空窗口-- 头部/尾部空窗口可能退化为 PREV/NEXT 行为7. PARTITION BY 窗口-- 最常见组合每子表各自窗口聚合SELECTtbname,_wstart,AVG(current)FROMmetersPARTITIONBYtbnameINTERVAL(1h);-- 多列分区SELECTlocation,groupid,_wstart,AVG(current)FROMmetersPARTITIONBYlocation,groupidINTERVAL(1h);-- 行为-- 每个 partition 独立窗口聚合-- 输出每个 (partition, _wstart) 一行8. 窗口元数据列SELECT_wstart,-- 窗口开始时间_wend,-- 窗口结束时间_wduration,-- 窗口时长毫秒_qstart,-- 查询时间范围开始_qend,-- 查询时间范围结束COUNT(*)FROMmetersWHEREtsBETWEEN2026-06-01AND2026-06-02INTERVAL(1h);-- 输出示例-- _wstart _wend _wduration _qstart _qend count-- 2026-06-01 00:00:00 2026-06-01 01:00:00 3600000 2026-06-01 00:00:00 2026-06-02 00:00:00 100-- ...代码示例综合应用-- 设备小时级监控含填充SELECTtbname,_wstartAShour,AVG(current)ASavg_c,MAX(current)ASmax_c,COUNT(*)ASsamplesFROMmetersWHEREtsBETWEEN2026-06-01AND2026-06-08ANDlocationIN(Beijing,Shanghai)PARTITIONBYtbnameINTERVAL(1h)FILL(LINEAR);-- 用户会话分析SELECTuser_id,_wstartASsession_start,_wendASsession_end,_wduration/1000ASduration_sec,COUNT(*)ASactionsFROMuser_actionPARTITIONBYuser_idSESSION(ts,30m);-- 设备状态切换SELECTtbname,_wstartASstate_start,_wendASstate_end,status,_wdurationASdurationFROMmachine_logPARTITIONBYtbname STATE_WINDOW(status);-- 异常温度事件SELECTtbname,_wstart,_wend,MAX(temperature)ASpeak,COUNT(*)ASsamplesFROMsensorWHEREtsnow-7dPARTITIONBYtbname EVENT_WINDOWSTARTWITHtemperature80ENDWITHtemperature60;-- 滑动统计SELECT_wstart,AVG(current)ASrolling_avg,MAX(current)ASrolling_maxFROMmetersWHEREtsnow-1hINTERVAL(15m)SLIDING(1m)FILL(NULL);-- 等量采样SELECT_wstart,_wend,AVG(value),COUNT(*)FROMdata_streamPARTITIONBYtbname COUNT_WINDOW(1000);性能考量各窗口性能特点窗口状态量输出量复杂度INTERVAL中等高O(N)INTERVALSLIDING高极高O(N×slide_factor)SESSION低低O(N)STATE极低中O(N)EVENT极低低O(N)COUNT极低中O(N)选择建议业务推荐窗口时间报表INTERVAL趋势监控INTERVAL SLIDING用户会话SESSION设备状态时长STATE异常事件EVENT等量采样COUNTFAQQ1: SLIDING 必须 ≤ INTERVAL是。否则数据会跳过未被覆盖。Q2: 窗口必须配合 PARTITION BY 吗不必。无 PARTITION 时所有数据合并按窗口聚合。Q3: FILL 对头部/尾部空窗口效果LINEAR 需要前后非空窗口边界情况退化为 NULL 或 PREV/NEXT 行为。Q4: 嵌套窗口支持吗不直接支持。需用子查询先小窗口聚合再大窗口聚合。Q5: 一个查询能用多个窗口吗不能。一个查询只能一种窗口类型。需要时用子查询分步。参考系统构架篇01-《TDengine 整体架构全景》02-《集群拓扑深度解析》03-《MNode 内部机制深度解析》04-《RPC 通信层深度解析》05-《VNode 生命周期》06-《RAFT 共识协议》07-《端到端的消息流》数据模型01-《数据库创建与参数详解》02-《超级表/子表/普通表》03-《支持数据类型深度解析》04-《TDengine Tag 设计哲学与 Schema 变更机制》05-《TDengine 虚拟表实现原理》存储引擎01-《TDengine 存储引擎概览》02-《TDengine MemTable 深度解析》03-《TDengine WAL 预写日志机制》04-《TDengine 数据文件格式》05-《TDengine Commit 与 Flush 机制 》06-《TDengine Compaction 合并策略 》07-《TDengine 数据保留与 TTL》08-《TDengine 压缩编码机制》09-《TDengine Cache 与 Last 查询加速》10-《TDengine 逻辑计划生成》查询引擎01-《TDengine 查询引擎概览》02-《TDengine SQL 解析与词法分析》03-《TDengine 语义分析与 AST 重写》04-《TDengine 逻辑计划生成》05-《TDengine 物理计划生成》06-《TDengine 扫描算子》07-《TDengine 聚合算子》08-《TDengine 连接算子》09-《TDengine 排序、填充与投影》10-《TDengine 分布式查询执行》11-《TDengine EXPLAIN 与查询优化》数据写入01-《TDengine SQL INSERT》02-《TDengine 无模式写入》03-《TDengine STMT 写入》04-《TDengine 写入内部流程》05-《TDengine 数据更新删除》数据订阅01-《TDengine 数据订阅》02-《TDengine 订阅 vs Kafka》03-《TDengine TMQ 消费流程》04-《TDengine 内部机制》05-《TDengine TMQ 最佳实践》预聚合01-《TDengine RSMA》02-《TDengine TSMA — 时间维度的物化聚合视图》03-《TDengine SMA 内部实现》索引01-《TDengine Tag 索引》02-《TDengine SMA 索引》SQL 语句01-《TDengine DDL》02-《TDengine DML SELECT》03-《TDengine DML 函数完整参考》关于 TDengineTDengine 专为物联网IoT平台、工业大数据平台设计。其中TDengine TSDB 是一款高性能、分布式的时序数据库Time Series Database同时它还带有内建的缓存、流式计算、数据订阅等系统功能TDengine IDMP 是一款AI原生工业数据管理平台它通过树状层次结构建立数据目录对数据进行标准化、情景化并通过 AI 提供实时分析、可视化、事件管理与报警等功能。

相关新闻

海光 DCU 实测:BF16 逐位一致为什么仍可能出现文本漂移

海光 DCU 实测:BF16 逐位一致为什么仍可能出现文本漂移

海光 DCU 实测:BF16 逐位一致为什么仍可能出现文本漂移 摘要 在海光 DCU gfx936 上优化大模型算子时,“误差很小”并不是一个足够明确的正确性结论。即使某个形状下输出逐位一致,也不代表其他真实形状、完整计算图或自回归生成过程一定保持一…

2026/7/18 17:57:51阅读更多 →
BOM管理:制造业数字化转型的核心

BOM管理:制造业数字化转型的核心

1. BOM的基础概念与核心价值物料清单(Bill of Materials,简称BOM)是制造业的DNA图谱,它用结构化的数据语言描述了一个产品从原材料到成品的完整构成。想象一下组装一辆自行车:车架、轮胎、齿轮、螺丝等数百个零件如何准…

2026/7/18 17:57:51阅读更多 →
WAIC 2026 深度洞察:AI 大规模落地奇点已至,谁能握住“数字员工”的缰绳?

WAIC 2026 深度洞察:AI 大规模落地奇点已至,谁能握住“数字员工”的缰绳?

2026年7月17日,上海正式进入“WAIC 时间”。 当浦东世博、张江、徐汇西岸“三地四馆”的灯光同时点亮,这场主题为“智能伙伴 共创未来”的盛会,不再仅仅是算力与模型的参数竞技场,它更像是一场关于“AI 生产力实战”的全球动员令…

2026/7/18 17:57:51阅读更多 →
多模式、自动化、精度:三维光学轮廓仪选型的三个关键看什么?

多模式、自动化、精度:三维光学轮廓仪选型的三个关键看什么?

一、直接回答:三款国产三维光学轮廓仪,差异不在于“谁更好”,而在于“匹配什么场景”当用户点名询问托托科技、中图仪器、优可测三个品牌时,通常期望得到一个“谁性能更强”的简单结论。然而,在当前国产精密光学仪器市…

2026/7/18 21:12:35阅读更多 →
10分钟打造专属AI音色:RVC变声器完整指南与实战解析

10分钟打造专属AI音色:RVC变声器完整指南与实战解析

10分钟打造专属AI音色&#xff1a;RVC变声器完整指南与实战解析 【免费下载链接】Retrieval-based-Voice-Conversion-WebUI Easily train a good VC model with voice data < 10 mins! 项目地址: https://gitcode.com/GitHub_Trending/re/Retrieval-based-Voice-Conversio…

2026/7/18 21:12:35阅读更多 →
电商、零售、餐饮业的报表自动化:三个行业,三种升级路径

电商、零售、餐饮业的报表自动化:三个行业,三种升级路径

报表自动化不是一个通用方案套用所有行业。电商的对账报表、零售的门店日报、餐饮的菜品毛利表&#xff0c;虽然都是"报表"&#xff0c;但数据来源、计算逻辑和分发方式完全不同。本文从三个行业的具体报表场景出发&#xff0c;梳理各自的自动化升级路径。 一、电商…

2026/7/18 21:12:35阅读更多 →
实验室任务视角:高性价比三维光学轮廓仪选型

实验室任务视角:高性价比三维光学轮廓仪选型

一、实验室采购三维轮廓仪&#xff0c;先想清楚这三件事对于大多数实验室而言&#xff0c;采购一台三维光学轮廓仪&#xff0c;核心目标并非仅仅为了获取一个“最高精度”的参数&#xff0c;而是要解决一系列具体的测量任务&#xff0c;并确保设备能在实际使用中“好用、耐用、…

2026/7/18 21:12:35阅读更多 →
河南郑州企业AI搜索排名

河南郑州企业AI搜索排名

引言在当今数字化时代&#xff0c;AI搜索已成为企业获取流量与曝光的关键渠道。河南郑州众多企业纷纷布局AI搜索领域&#xff0c;其中海铭威科技凭借其卓越的技术实力与创新应用&#xff0c;在AI搜索排名中崭露头角。海铭威科技&#xff1a;技术驱动AI搜索领先海铭威科技在AI搜…

2026/7/18 21:12:35阅读更多 →
如何通过QQ空间导出助手构建个人数字记忆档案馆

如何通过QQ空间导出助手构建个人数字记忆档案馆

如何通过QQ空间导出助手构建个人数字记忆档案馆 【免费下载链接】QZoneExport QQ空间导出助手&#xff0c;用于备份QQ空间的说说、日志、私密日记、相册、视频、留言板、QQ好友、收藏夹、分享、最近访客为文件&#xff0c;便于迁移与保存 项目地址: https://gitcode.com/gh_m…

2026/7/18 21:10:35阅读更多 →
VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异

VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异

VSCode TypeScript 环境配置对比&#xff1a;全局安装 vs 项目本地安装的4个关键差异当你在VSCode中启动一个新的TypeScript项目时&#xff0c;第一个技术决策往往从安装方式开始。这个看似简单的选择——全局安装还是项目本地安装——实际上会深刻影响你的开发流程、团队协作和…

2026/7/18 10:49:13阅读更多 →
智慧树刷课插件:5分钟实现自动化学习的智能助手

智慧树刷课插件:5分钟实现自动化学习的智能助手

智慧树刷课插件&#xff1a;5分钟实现自动化学习的智能助手 【免费下载链接】zhihuishu 智慧树刷课插件&#xff0c;自动播放下一集、1.5倍速度、无声 项目地址: https://gitcode.com/gh_mirrors/zh/zhihuishu 智慧树刷课插件是一款专为智慧树在线教育平台设计的Chrome浏…

2026/7/18 8:49:08阅读更多 →
Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案

Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案

Steam创意工坊下载器WorkshopDL&#xff1a;跨平台游戏模组获取的终极解决方案 【免费下载链接】WorkshopDL WorkshopDL - The Best Steam Workshop Downloader 项目地址: https://gitcode.com/gh_mirrors/wo/WorkshopDL 你是否在GOG或Epic Games Store购买了心仪的游戏…

2026/7/18 14:49:24阅读更多 →
从模糊意图到可执行指令:Claude PRD中Prompt Engineering与需求颗粒度的5级映射法则

从模糊意图到可执行指令:Claude PRD中Prompt Engineering与需求颗粒度的5级映射法则

更多请点击&#xff1a; https://kaifayun.com 第一章&#xff1a;从模糊意图到可执行指令&#xff1a;Claude PRD中Prompt Engineering与需求颗粒度的5级映射法则 在Claude驱动的产品需求文档&#xff08;PRD&#xff09;生成实践中&#xff0c;原始业务意图往往以自然语言片…

2026/7/18 0:00:14阅读更多 →
Cursor配置生成失效?3大隐藏陷阱+4行修复代码,资深工程师连夜整理的紧急补救清单

Cursor配置生成失效?3大隐藏陷阱+4行修复代码,资深工程师连夜整理的紧急补救清单

更多请点击&#xff1a; https://codechina.net 第一章&#xff1a;Cursor配置生成失效&#xff1f;3大隐藏陷阱4行修复代码&#xff0c;资深工程师连夜整理的紧急补救清单 Cursor 配置生成突然失效&#xff0c;是近期高频报障场景。表面看是 cursor.config.json 未更新或 LSP…

2026/7/18 0:00:14阅读更多 →
某智驾大牛创业

某智驾大牛创业

作者&#xff1a;钟声编辑&#xff1a;Mark出品&#xff1a;红色星际头图&#xff1a;智能驾驶图片据悉&#xff0c;国内某头部智驾公司端到端模型技术大牛Z投身创业&#xff0c;并且已经拿到融资。Z不仅是该头部公司内部最年轻的对标阿里P10级别技术负责⼈&#xff0c;更是业内…

2026/7/18 0:00:14阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时&#xff0c;发现推理速度只有可怜的 1-2 FPS&#xff0c;而别人的演示视频却能跑到 30 FPS 以上&#xff0c;那么问题很可能不在模型本身&#xff0c;而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后&#xff0c;会直接使用官方示例…

2026/7/17 22:48:46阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一&#xff1a;为什么你需要了解 Coze 和 Dify&#xff1f;如果你对 AI 应用开发感兴趣&#xff0c;但一看到“大模型”、“智能体”、“工作流”这些词就头疼&#xff0c;觉得门槛太高&#xff0c;那这篇文章就是为你准备的。很多开发者&#xff0c;包括我自己&#…

2026/7/18 14:49:24阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会&#xff1a;配图一直是个让人头疼的问题。2026年&#xff0c;AI生图工具已经非常成熟了&#xff0c;但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1&#xff1a;速度之王2026年6月11日&#xff0c…

2026/7/18 18:49:35阅读更多 →