
TDengine SQL 手册
文章平均质量分 89
本专栏主要介绍 TDengine 支持的标准 SQL 语句和支持的函数及自己特有的 SQL 语句及函数
TDengine (老段)
目前在涛思数据从事 TDengine 数据库开发,曾在腾讯公司从事多年大数据研发工作
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
TDengine 中 Interval 按查询时间划分窗口
目前 INTERVAL 算子目前支持指定 interval_offset 作为划分时间窗口的起始时间点的偏移量。但发现用户使用时,可能希望窗口划分从 where 条件指定的时间戳开始,就得先自行算出并指定偏移量,这在使用上造成了不便。原创 2025-06-26 21:03:30 · 1198 阅读 · 0 评论 -
TDengine 新增的计数窗口有什么用处?
流计算是一种数据处理方式,旨在实时处理和分析数据流,以便在数据到达时以极低的延迟生成结果。随着物联网(IoT)、大数据和实时分析需求的不断增长,流计算在现代数据处理架构中变得愈发重要。TDengine 作为一款专为时序数据设计的数据库,提供了强大的流计算能力,以满足实时数据处理的需求。随着数据量的不断增加,使用 SQL 语句进行查询时,查询的耗时可能会显著增加。当查询时间超过 5 秒时,用户的人机交互体验往往会受到影响。这种情况下,预先生成中间结果以加速查询显得尤为重要。原创 2025-06-25 18:10:57 · 565 阅读 · 0 评论 -
TDengine 的 CASE WHEN 语法技术详细
如下矩阵的行和列的标签表示的是需要显示的两种数据类型,共有20种不同的数据类型,行和列对应的表格中的数据(只需要看矩阵的上三角部分)表示的是上述需要显示的两种类型最终展示的结果类型。原创 2025-06-25 18:00:12 · 854 阅读 · 0 评论 -
TDengine 窗口预聚集
在大数据量场景下,经常需要查询某段时间内的汇总结果,当历史数据变多或者时间范围变大时,查询时间也会相应增加。通过预聚集的方式可以将计算结果提前存储下来,后续查询可以直接读取聚集结果,而不需要扫描原始数据,如当前 Block 内的 SMA (Small Materialized Aggregates) 信息。Block 内的 SMA 信息粒度较小,若查询时间范围是日,月甚至年时,Block 的数量将会很多,因此 TSMA (Time-Range Small Materialized Aggregates)原创 2025-04-06 14:35:41 · 1027 阅读 · 0 评论 -
TDengine 3.3.6.0 版本中非常实用的 Cols 函数
在刚发布的 TDengine [3.3.6.0 版本](https://docs.taosdata.com/get-started/package/) 中,新增了一个非常实用的 `COLS` 函数,获取选择函数选中行上其它列信息,这个函数主要应用在生成报表数据时,每行上会出现多个选择函数结果,如统计每天的最大及最小电压,并报告最大电压及最小电压发生时间。原创 2025-04-05 23:01:08 · 643 阅读 · 0 评论 -
TDengine 中的视图
视图(View)本质上是一个存储在数据库中的查询语句。视图(非物化视图)本身不包含数据,只有在从视图读取数据时才动态执行视图所指定的查询语句。我们在创建视图时指定一个名称,然后可以像使用普通表一样对其进行查询等操作。视图的使用需遵循以下规则:- 视图可以嵌套定义和使用,视图与创建时指定的或当前数据库绑定使用。- 在同一个数据库内,视图名称不允许重名,视图名跟表名也推荐不重名(不强制)。当出现视图与表名重名时,写入、查询、授权、回收权限等操作优先使用同名表。原创 2025-04-04 22:48:51 · 1104 阅读 · 0 评论 -
TDengine 重磅功能虚拟表
虚拟表功能是 TDengine 最近刚发现的 3.3.6.0 版本中一项重磅级新功能,虚拟表可理解为在原来查询基础上做了一层逻辑表,在数据查询建模时即可不依赖底层物理存储表,直接通过虚拟表进行数据查询建模,这样逻辑上会更加清晰,同时在灵活性也非常高,随时可以拆了建模不合理的虚拟表再建,而物理存储表是不能这样拆了重建的。原创 2025-04-03 20:58:19 · 1093 阅读 · 0 评论 -
TDengine 中的关联查询
TDengine 中,如果要对两张表中的数据进行关联起来查询,只能通过 JOIN 语句来实现,考虑到性能及实用性,限制只能以时间主列进行关联,不可以使用其它的列关联。原创 2025-03-30 22:06:46 · 1038 阅读 · 0 评论 -
TDengine 中的异常恢复
本章主要介绍在 TDengine 执行命令过程中发生异常,如何手工终于执行的任务。可以终止连接,线上查询及终止事务。原创 2025-03-29 22:31:38 · 847 阅读 · 0 评论 -
TDengine 中的命名与边界
本章主要介绍命名的合法字符集和限制规则,这对于正确使用 TDengine,减小报错很重要,这些规则在 SQL 语句中都生效,在使用过程中要注意,避免不必要的错误。原创 2025-03-28 21:19:59 · 630 阅读 · 0 评论 -
TDengine 中的保留关键词
本节很重要,请大家收藏,避免在编写程序的时候踩坑。因为关键字是被 TDengine 系统使用的,如果你在 SQL 中使用了保留关键词,并且没有被反引号包括时,会报语法错误,当你不知道这个是保留关键词时,就会反复检测语法,最后发现语法也没问题,而是保留关键词的问题,了解了这章内容,你就不会再踩这些坑了。原创 2025-03-27 20:08:43 · 1058 阅读 · 0 评论 -
TDengine 集群节点管理
组成 TDengine 集群的物理实体是 dnode (data node 的缩写),它是一个运行在操作系统之上的进程。在 dnode 中可以建立负责时序数据存储的 vnode (virtual node),在多节点集群环境下当某个数据库的 replica 为 3 时,该数据库中的每个 vgroup 由 3 个 vnode 组成;当数据库的 replica 为 1 时,该数据库中的每个 vgroup 由 1 个 vnode 组成。如果要想配置某个数据库为多副本,则集群中的 dnode 数量至少为 3。在 d原创 2025-03-26 19:53:31 · 1052 阅读 · 0 评论 -
TDengine 中的系统信息统计
TDengine 3.0 版本开始提供一个内置数据库 `performance_schema`,Performance_Schema 数据库中存储了系统中的各种统计信息,包括存储及性能有关统计数据。本节详细介绍其中的表和表结构。原创 2025-03-25 20:23:21 · 1115 阅读 · 0 评论 -
TDengine 用户权限管理
TDengine 中的权限管理分为 用户管理、数据库授权管理以及消息订阅授权管理,本节重点说明数据库授权和订阅授权。授权管理仅在 TDengine 企业版中可用,请联系 TDengine 销售团队。授权语法在社区版可用,但不起作用。原创 2025-03-24 20:08:24 · 1187 阅读 · 0 评论 -
TDengine 中的用户管理
本节讲述基本的用户管理功能,用户和权限管理是 TDengine 企业版的功能,本节只讲述基本的用户管理部分。要想了解和获取全面的权限管理功能,请联系 TDengine 销售团队。原创 2025-03-24 20:02:31 · 753 阅读 · 0 评论 -
TDengine 中的 show 命令
SHOW 命令可以用来获取简要的系统信息。若想获取系统中详细的各种元数据、系统信息和状态,请使用 select 语句查询 INFORMATION_SCHEMA 数据库中的表。原创 2025-03-22 20:17:22 · 1042 阅读 · 0 评论 -
TDengine 元数据
TDengine 内置了一个名为 `INFORMATION_SCHEMA` 的数据库,此数据库中存储了系统中所有的元数据信息。提供对数据库元数据、数据库系统信息和状态的访问,例如数据库或表的名称,当前执行的 SQL 语句等。原创 2025-03-20 19:25:09 · 1481 阅读 · 0 评论 -
TDengine 支持的所有运算符
TDengine 在表达式中可以支持各种运算符,JSON 运算是比较特殊的一种运算符原创 2025-03-18 19:30:06 · 1181 阅读 · 0 评论 -
TDengine 中的流式计算
TDengine 中的流计算,功能相当于简化版的 FLINK , 具有实时计算,计算结果可以输出到超级表中存储,同时也可用于窗口预计算,加快查询速度。原创 2025-03-17 21:04:04 · 1336 阅读 · 1 评论 -
TDengine 特色查询
TDengine 在支持标准 SQL 的基础之上,还提供了一系列满足时序业务场景需求的特色查询语法,这些语法能够为时序场景的应用的开发带来极大的便利。TDengine 提供的特色查询包括数据切分查询和时间窗口切分查询。原创 2025-03-15 20:18:28 · 1242 阅读 · 0 评论 -
TDengine SQL 函数
TDengine 中支持的 SQL 函数比较丰富,我们按函数的类型进行了分类。从使用规则上,分为两大类,一类是投影查询函数,另一类是聚合查询函数。投影函数只能用到投影查询中,聚合函数只能使用在聚合查询中,两种类型函数使用在一起会报语法错误。原创 2025-03-12 19:47:50 · 1470 阅读 · 0 评论 -
TDengine 中的标签索引
本节说明 TDengine 的索引机制。在 TDengine 3.0.3.0 版本之前(不含),默认在第一列 TAG 上建立索引,但不支持给其它列动态添加索引。从 3.0.3.0 版本开始,可以动态地为其它 TAG 列添加索引。对于第一个 TAG 列上自动建立的索引,其在查询中默认生效,且用户无法对其进行任何干预。适当地使用索引能够有效地提升查询性能。原创 2025-03-07 20:26:55 · 733 阅读 · 0 评论 -
TDengine SQL手册—删除数据
删除数据是 TDengine 提供的根据指定时间段删除指定表或超级表中数据记录的功能,方便用户清理由于设备故障等原因产生的异常数据。原创 2025-03-04 21:29:13 · 1073 阅读 · 2 评论 -
TDengine 数据写入SQL
TDengine 中数据写入主要有两种方式,一种是通过 SQL 语句写入,另一种是通过参数绑定的 STMT 高速写入。这里主要介绍最基本的 SQL 写入的语法。原创 2025-03-03 21:18:09 · 1383 阅读 · 5 评论 -
TDengine 中对表的管理操作
TDengine 中的表可分为子表和普通表,子表以超级表为模板创建,普通表是指没有 TAG 属性的独立表,在 TDengine 中普通表使用的场景较少,主要以超级表和子表为主。原创 2025-03-02 22:33:49 · 1480 阅读 · 0 评论 -
TDengine 最大亮点超级表
TDengine 数据库根据时序数据库采集设备数据特点,提出了超级表及子表概念。超级表完美实现了一类设备一超级表,一个设备一张子表数据模型,模型简单易用、性能好、压缩率高。超级表可理解为一个模板,超级表上不存储实际数据,所有数据存储在子表中。超级表的标签(TAG)是用于记录子表属性的,可形象理解为在每台设备上粘上的标签,标签上写有字,那个字可理解为标签值,标签是红色的还是黄色的可理解为标签名,所以标签是来描述子表属性的。一个数据库中没有限制创建超级表的数量,但超级表不宜过多,要尽可能把今后频繁在原创 2025-03-01 10:38:31 · 1528 阅读 · 0 评论 -
TDengine 中创建数据库
时序数据库 TDengine 中数据库概念,等同于关系型数据库 MYSQL PostgreSQL 中的数据库,都是对资源进行分割管理的单位。TDengine 数据库与关系型数据库最大区别是跨库操作,TDengine 数据库跨库操作除了少量几个SQL 能支持外,其它几乎不支持,所以在前期数据建模时要注意这点,尽可能的把横向有关联的设备规划到一个数据库中方便关联查询。原创 2025-02-27 21:28:37 · 1334 阅读 · 0 评论 -
TDengine 中的数据类型
数据类型是数据库产品中一个非常重要的概念,它决定着能处理不同类型数据的范围。 TDengine 支持了所有通用的数据类型,同时还支持了一些特色数据类型,如地理坐标,未来准备支持 decimal 数据类型,方便银行等场景中精准运算。因为 TDengine 中的数据类型是一个不断增加的发展过程,所以扩展的新数据类型需要看对应文档是否支持,使用各语言的连接器也要查看对应文档确认支持的数据类型。TDengine 中的数据类型定义基本与 MYSQL 一致。原创 2025-02-26 21:26:37 · 1122 阅读 · 0 评论