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

TDengine函数大全-选择函数

以下内容来自 TDengine 官方文档 及
GitHub 内容 。

以下所有示例基于 TDengine 3.1.0.3

TDengine函数大全

1.数学函数
2.字符串函数
3.转换函数
4.时间和日期函数
5.聚合函数
6.选择函数
7.时序数据库特有函数
8.系统函数

选择函数

    • TDengine函数大全
      • BOTTOM
      • FIRST
      • INTERP
      • LAST
      • LAST_ROW
      • MAX
      • MIN
      • MODE
      • SAMPLE
      • TAIL
      • TOP
      • UNIQUE

BOTTOM

BOTTOM(expr, k)

功能说明:统计表/超级表中某列的值最小 k 个非 NULL 值。如果多条数据取值一样,全部取用又会超出 k 条限制时,系统会从相同值中随机选取符合要求的数量返回。

返回数据类型:同应用的字段。

适用数据类型:数值类型。

适用于:表和超级表。

使用说明:

  • k值取值范围 1≤k≤100;
  • 限制:BOTTOM 函数不支持 FILL 子句。

示例:

> select * from t7;ts            |     v1      |
========================================2023-08-01 01:01:01.000 |           1 |2023-08-01 01:01:02.000 |           2 |2023-08-01 01:01:03.000 |           3 |2023-08-01 01:01:04.000 |           4 |2023-08-01 01:01:05.000 |           5 |2023-08-01 01:01:06.000 |           6 |2023-08-01 01:01:07.000 |           7 |2023-08-01 01:01:08.000 |           8 |2023-08-01 01:01:09.000 |           9 |2023-08-01 01:01:10.000 |          10 |> select bottom(v1,2) from t7;bottom(v1,2) |
===============2 |1 |> select ts,bottom(v1,2) from t7;ts            | bottom(v1,2) |
=========================================2023-08-01 01:01:02.000 |            2 |2023-08-01 01:01:01.000 |            1 |> select ts,bottom(v1,3) from t7;ts            | bottom(v1,3) |
=========================================2023-08-01 01:01:03.000 |            3 |2023-08-01 01:01:01.000 |            1 |2023-08-01 01:01:02.000 |            2 |

FIRST

FIRST(expr)

功能说明:统计表/超级表中某列的值最先写入的非 NULL 值。

返回数据类型:同应用的字段。

适用数据类型:所有字段。

适用于:表和超级表。

使用说明:

  • 如果要返回各个列的首个(时间戳最小)非 NULL 值,可以使用 FIRST(*);
  • 如果结果集中的某列全部为 NULL 值,则该列的返回结果也是 NULL;
  • 如果结果集中所有列全部为 NULL 值,则不返回结果。

示例:

> select * from t7;ts            |     v1      |     v2      |
======================================================2023-08-01 01:01:00.000 | NULL        | NULL        |2023-08-01 01:01:01.000 |           1 | NULL        |2023-08-01 01:01:02.000 |           2 | NULL        |2023-08-01 01:01:03.000 |           3 | NULL        |2023-08-01 01:01:04.000 |           4 | NULL        |2023-08-01 01:01:05.000 |           5 | NULL        |2023-08-01 01:01:06.000 |           6 | NULL        |2023-08-01 01:01:07.000 |           7 | NULL        |2023-08-01 01:01:08.000 |           8 | NULL        |2023-08-01 01:01:09.000 |           9 | NULL        |2023-08-01 01:01:10.000 |          10 | NULL        |> select first(*) from t7;first(ts)        |  first(v1)  |  first(v2)  |
======================================================2023-08-01 01:01:00.000 |           1 | NULL        |> select first(v1) from t7;first(v1)  |
==============1 |> select ts,first(v1) from t7;ts            |  first(v1)  |
========================================2023-08-01 01:01:01.000 |           1 |> select ts,first(v2) from t7;
Query OK, 0 row(s) in set (0.001117s)

INTERP

INTERP(expr [, ignore_null_values])ignore_null_values: {0| 1
}

功能说明:返回指定时间截面指定列的记录值或插值。ignore_null_values 参数的值可以是 0 或 1,为 1 时表示忽略 NULL 值, 缺省值为0。

返回数据类型:同字段类型。

适用数据类型:数值类型。

适用于:表和超级表。

使用说明

  • INTERP 用于在指定时间断面获取指定列的记录值,如果该时间断面不存在符合条件的行数据,那么会根据 FILL 参数的设定进行插值。
  • INTERP 的输入数据为指定列的数据,可以通过条件语句(where 子句)来对原始列数据进行过滤,如果没有指定过滤条件则输入为全部数据。
  • INTERP 需要同时与 RANGE,EVERY 和 FILL 关键字一起使用。
  • INTERP 的输出时间范围根据 RANGE(timestamp1, timestamp2)字段来指定,需满足 timestamp1 <= timestamp2。其中 timestamp1 为输出时间范围的起始值,即如果 timestamp1 时刻符合插值条件则 timestamp1 为输出的第一条记录,timestamp2 为输出时间范围的结束值,即输出的最后一条记录的 timestamp 不能大于 timestamp2。
  • INTERP 根据 EVERY(time_unit) 字段来确定输出时间范围内的结果条数,即从 timestamp1 开始每隔固定长度的时间(time_unit 值)进行插值,time_unit 可取值时间单位:1a(毫秒),1s(秒),1m(分),1h(小时),1d(天),1w(周)。例如 EVERY(500a) 将对于指定数据每500毫秒间隔进行一次插值.
  • INTERP 根据 FILL 字段来决定在每个符合输出条件的时刻如何进行插值。
  • INTERP 可以在 RANGE 字段中只指定唯一的时间戳对单个时间点进行插值,在这种情况下,EVERY 字段可以省略。例如:SELECT INTERP(col) FROM tb RANGE(‘2023-01-01 00:00:00’) FILL(linear).
  • INTERP 作用于超级表时, 会将该超级表下的所有子表数据按照主键列排序后进行插值计算,也可以搭配 PARTITION BY tbname 使用,将结果强制规约到单个时间线。
  • INTERP 可以与伪列 _irowts 一起使用,返回插值点所对应的时间戳(3.0.2.0版本以后支持)。
  • INTERP 可以与伪列 _isfilled 一起使用,显示返回结果是否为原始记录或插值算法产生的数据(3.0.3.0版本以后支持)。

示例:

> select * from t7;ts            |     v1      |     v2      |
======================================================2023-08-01 01:01:00.000 | NULL        | NULL        |2023-08-01 01:01:01.000 |           1 | NULL        |2023-08-01 01:01:02.000 |           2 | NULL        |2023-08-01 01:01:03.000 |           3 | NULL        |2023-08-01 01:01:04.000 |           4 | NULL        |2023-08-01 01:01:05.000 |           5 | NULL        |2023-08-01 01:01:06.000 |           6 | NULL        |2023-08-01 01:01:07.000 |           7 | NULL        |2023-08-01 01:01:08.000 |           8 | NULL        |2023-08-01 01:01:09.000 |           9 | NULL        |2023-08-01 01:01:10.000 |          10 | NULL        |> select _irowts,interp(v1) from t7 range('2023-08-01 01:01:01.000','2023-08-01 01:01:12.000') every(1s) fill(prev);_irowts         | interp(v1)  |
========================================2023-08-01 01:01:01.000 |           1 |2023-08-01 01:01:02.000 |           2 |2023-08-01 01:01:03.000 |           3 |2023-08-01 01:01:04.000 |           4 |2023-08-01 01:01:05.000 |           5 |2023-08-01 01:01:06.000 |           6 |2023-08-01 01:01:07.000 |           7 |2023-08-01 01:01:08.000 |           8 |2023-08-01 01:01:09.000 |           9 |2023-08-01 01:01:10.000 |          10 |2023-08-01 01:01:11.000 |          10 |2023-08-01 01:01:12.000 |          10 |> select _irowts,interp(v1) from t7 range('2023-08-01 01:01:01.000','2023-08-01 01:01:12.000') every(1s) fill(next);_irowts         | interp(v1)  |
========================================2023-08-01 01:01:01.000 |           1 |2023-08-01 01:01:02.000 |           2 |2023-08-01 01:01:03.000 |           3 |2023-08-01 01:01:04.000 |           4 |2023-08-01 01:01:05.000 |           5 |2023-08-01 01:01:06.000 |           6 |2023-08-01 01:01:07.000 |           7 |2023-08-01 01:01:08.000 |           8 |2023-08-01 01:01:09.000 |           9 |2023-08-01 01:01:10.000 |          10 |> select _irowts,interp(v1) from t7 range('2023-08-01 01:01:01.000','2023-08-01 01:01:12.000') every(1s) fill(null);_irowts         | interp(v1)  |
========================================2023-08-01 01:01:01.000 |           1 |2023-08-01 01:01:02.000 |           2 |2023-08-01 01:01:03.000 |           3 |2023-08-01 01:01:04.000 |           4 |2023-08-01 01:01:05.000 |           5 |2023-08-01 01:01:06.000 |           6 |2023-08-01 01:01:07.000 |           7 |2023-08-01 01:01:08.000 |           8 |2023-08-01 01:01:09.000 |           9 |2023-08-01 01:01:10.000 |          10 |2023-08-01 01:01:11.000 | NULL        |2023-08-01 01:01:12.000 | NULL        |

LAST

LAST(expr)

功能说明:统计表/超级表中某列的值最后写入的非 NULL 值。

返回数据类型:同应用的字段。

适用数据类型:所有字段。

适用于:表和超级表。

使用说明:

  • 如果要返回各个列的最后(时间戳最大)一个非 NULL 值,可以使用 LAST(*);
  • 如果结果集中的某列全部为 NULL 值,则该列的返回结果也是 NULL;如果结果集中所有列全部为 NULL 值,则不返回结果。
  • 在用于超级表时,时间戳完全一样且同为最大的数据行可能有多个,那么会从中随机返回一条,而并不保证多次运行所挑选的数据行必然一致。

示例:

> select * from t7 ;ts            |     v1      |     v2      |
======================================================2023-08-01 01:01:00.000 | NULL        | NULL        |2023-08-01 01:01:01.000 |           1 | NULL        |2023-08-01 01:01:02.000 |           2 | NULL        |2023-08-01 01:01:03.000 |           3 | NULL        |2023-08-01 01:01:04.000 |           4 | NULL        |2023-08-01 01:01:05.000 |           5 | NULL        |2023-08-01 01:01:06.000 |           6 | NULL        |2023-08-01 01:01:07.000 |           7 | NULL        |2023-08-01 01:01:08.000 |           8 | NULL        |2023-08-01 01:01:09.000 |           9 | NULL        |2023-08-01 01:01:10.000 |          10 | NULL        |2023-08-01 01:01:11.000 | NULL        | NULL        |> select last(*) from t7;last(ts)         |  last(v1)   |  last(v2)   |
======================================================2023-08-01 01:01:11.000 |          10 | NULL        |> select ts,last(v1) from t7;ts            |  last(v1)   |
========================================2023-08-01 01:01:10.000 |          10 |taos> select ts,last(v2) from t7;
Query OK, 0 row(s) in set (0.001065s)

LAST_ROW

LAST_ROW(expr)

功能说明:返回表/超级表的最后一条记录。

返回数据类型:同应用的字段。

适用数据类型:所有字段。

适用于:表和超级表。

使用说明

  • 在用于超级表时,时间戳完全一样且同为最大的数据行可能有多个,那么会从中随机返回一条,而并不保证多次运行所挑选的数据行必然一致。
  • 不能与 INTERVAL 一起使用。

示例:

> select * from t7;ts            |     v1      |     v2      |
======================================================2023-08-01 01:01:00.000 | NULL        | NULL        |2023-08-01 01:01:01.000 |           1 | NULL        |2023-08-01 01:01:02.000 |           2 | NULL        |2023-08-01 01:01:03.000 |           3 | NULL        |2023-08-01 01:01:04.000 |           4 | NULL        |2023-08-01 01:01:05.000 |           5 | NULL        |2023-08-01 01:01:06.000 |           6 | NULL        |2023-08-01 01:01:07.000 |           7 | NULL        |2023-08-01 01:01:08.000 |           8 | NULL        |2023-08-01 01:01:09.000 |           9 | NULL        |2023-08-01 01:01:10.000 |          10 | NULL        |2023-08-01 01:01:11.000 | NULL        | NULL        |> select last_row(*) from t7;last_row(ts)       | last_row(v1) | last_row(v2) |
========================================================2023-08-01 01:01:11.000 | NULL         | NULL         |> select ts,last_row(v1) from t7;ts            | last_row(v1) |
=========================================2023-08-01 01:01:11.000 | NULL         |> select ts,last_row(v2) from t7;ts            | last_row(v2) |
=========================================2023-08-01 01:01:11.000 | NULL         |

MAX

MAX(expr)

功能说明:统计表/超级表中某列的值最大值。

返回数据类型:同应用的字段。

适用数据类型:数值类型。

适用于:表和超级表。

示例:

> select * from t7;ts            |     v1      |     v2      |
======================================================2023-08-01 01:01:00.000 | NULL        | NULL        |2023-08-01 01:01:01.000 |           1 | NULL        |2023-08-01 01:01:02.000 |           2 | NULL        |2023-08-01 01:01:03.000 |           3 | NULL        |2023-08-01 01:01:04.000 |           4 | NULL        |2023-08-01 01:01:05.000 |           5 | NULL        |2023-08-01 01:01:06.000 |           6 | NULL        |2023-08-01 01:01:07.000 |           7 | NULL        |2023-08-01 01:01:08.000 |           8 | NULL        |2023-08-01 01:01:09.000 |           9 | NULL        |2023-08-01 01:01:10.000 |          10 | NULL        |2023-08-01 01:01:11.000 | NULL        | NULL        |> select max(v1) from t7;max(v1)   |
==============10 |> select max(v2) from t7;max(v2)   |
==============NULL        |

MIN

MIN(expr)

功能说明:统计表/超级表中某列的值最小值。

返回数据类型:同应用的字段。

适用数据类型:数值类型。

适用于:表和超级表。

示例:

> select * from t7;ts            |     v1      |     v2      |
======================================================2023-08-01 01:01:00.000 | NULL        | NULL        |2023-08-01 01:01:01.000 |           1 | NULL        |2023-08-01 01:01:02.000 |           2 | NULL        |2023-08-01 01:01:03.000 |           3 | NULL        |2023-08-01 01:01:04.000 |           4 | NULL        |2023-08-01 01:01:05.000 |           5 | NULL        |2023-08-01 01:01:06.000 |           6 | NULL        |2023-08-01 01:01:07.000 |           7 | NULL        |2023-08-01 01:01:08.000 |           8 | NULL        |2023-08-01 01:01:09.000 |           9 | NULL        |2023-08-01 01:01:10.000 |          10 | NULL        |2023-08-01 01:01:11.000 | NULL        | NULL        |> select min(v2) from t7;min(v2)   |
==============NULL        |> select min(v1) from t7;min(v1)   |
==============1 |

MODE

MODE(expr)

功能说明:返回出现频率最高的值,若存在多个频率相同的最高值,则随机输出其中某个值。

返回数据类型:与输入数据类型一致。

适用数据类型:全部类型字段。

适用于:表和超级表。

示例:

> select * from t7;ts            |     v1      |     v2      |
======================================================2023-08-01 01:01:00.000 | NULL        | NULL        |2023-08-01 01:01:01.000 |           1 | NULL        |2023-08-01 01:01:02.000 |           2 | NULL        |2023-08-01 01:01:03.000 |           3 | NULL        |2023-08-01 01:01:04.000 |           4 | NULL        |2023-08-01 01:01:05.000 |           5 | NULL        |2023-08-01 01:01:06.000 |           6 | NULL        |2023-08-01 01:01:07.000 |           7 | NULL        |2023-08-01 01:01:08.000 |           8 | NULL        |2023-08-01 01:01:09.000 |           9 | NULL        |2023-08-01 01:01:10.000 |          10 | NULL        |2023-08-01 01:01:11.000 | NULL        | NULL        |2023-08-01 01:01:12.000 |          10 | NULL        |> select mode(v1) from t7;mode(v1)   |
==============10 |> select mode(v2) from t7;mode(v2)   |
==============NULL        |

SAMPLE

SAMPLE(expr, k)

功能说明: 获取数据的 k 个采样值。参数 k 的合法输入范围是 1≤ k ≤ 1000。

返回结果类型: 同原始数据类型。

适用数据类型: 全部类型字段。

嵌套子查询支持: 适用于内层查询和外层查询。

适用于:表和超级表。

示例:

> select count(*) from db03.meters;count(*)        |
========================109847142 |
Query OK, 1 row(s) in set (2.897577s)taos> select ts,sample(voltage,10) from db03.meters;ts            | sample(voltage,10) |
===============================================2023-08-31 07:28:22.075 |                832 |2023-08-31 07:44:24.141 |                843 |2023-08-30 20:02:05.379 |                571 |2023-08-31 07:39:37.149 |                 64 |2023-08-30 18:17:03.414 |                406 |2023-08-31 01:08:33.140 |                 48 |2023-08-30 22:24:29.888 |                665 |2023-08-31 03:09:20.970 |                317 |2023-08-31 07:52:18.062 |                809 |2023-08-30 23:26:56.370 |                951 |> select ts,sample(current,10) from db03.meters;ts            |  sample(current,10)  |
=================================================2017-07-14 10:40:04.333 |            9.9600000 |2023-08-30 18:38:50.207 |          736.0000000 |2023-08-31 04:04:39.806 |           48.0000000 |2023-08-30 14:07:56.598 |          630.0000000 |2017-07-14 10:40:08.386 |            9.8000002 |2017-07-14 10:40:03.538 |            9.9200001 |2023-08-31 07:30:39.249 |          894.0000000 |2023-08-31 09:45:17.732 |          802.0000000 |2023-08-30 23:24:46.770 |          794.0000000 |2023-08-31 08:50:07.191 |          876.0000000 |> select ts,sample(current,10),tbname from db03.meters;ts            |  sample(current,10)  |                  tbname                  |
============================================================================================2023-08-30 16:46:31.089 |          320.0000000 | d320                                     |2023-08-30 23:38:41.862 |           31.0000000 | d31                                      |2023-08-31 05:31:04.926 |          251.0000000 | d251                                     |2023-08-30 21:06:09.251 |          949.0000000 | d949                                     |2023-08-31 05:58:59.459 |          455.0000000 | d455                                     |2017-07-14 10:40:06.038 |           10.1199999 | d753                                     |2023-08-31 07:10:25.396 |          878.0000000 | d878                                     |2023-08-31 02:55:02.459 |          611.0000000 | d611                                     |2023-08-30 18:21:05.591 |          124.0000000 | d124                                     |2023-08-30 18:19:58.478 |          423.0000000 | d423                                     |> select ts,sample(current,10),tbname from db03.meters;ts            |  sample(current,10)  |                  tbname                  |
============================================================================================2023-08-30 16:57:54.242 |          198.0000000 | d198                                     |2023-08-30 15:50:55.564 |          300.0000000 | d300                                     |2023-08-30 20:23:59.571 |          190.0000000 | d190                                     |2023-08-31 07:23:07.732 |          883.0000000 | d883                                     |2023-08-30 21:00:09.487 |          671.0000000 | d671                                     |2017-07-14 10:40:05.945 |            9.8000002 | d238                                     |2023-08-31 07:23:04.833 |          809.0000000 | d809                                     |2023-08-30 13:56:39.881 |          329.0000000 | d329                                     |2023-08-31 04:08:36.008 |          534.0000000 | d534                                     |2023-08-30 19:54:08.737 |           30.0000000 | d30        

TAIL

TAIL(expr, k [, offset_rows])

功能说明:返回跳过最后 offset_val 个,然后取连续 k 个记录,不忽略 NULL 值。offset_val 可以不输入。此时返回最后的 k 个记录。当有 offset_val 输入的情况下,该函数功能等效于 order by ts desc LIMIT k OFFSET offset_val

参数范围:k: [1,100] offset_val: [0,100]。

返回数据类型:同应用的字段。

适用数据类型:适合于除时间主键列外的任何类型。

适用于:表、超级表。

示例:

> select ts,v1 from t7;ts            |     v1      |
========================================2023-08-01 01:01:00.000 | NULL        |2023-08-01 01:01:01.000 |           1 |2023-08-01 01:01:02.000 |           2 |2023-08-01 01:01:03.000 |           3 |2023-08-01 01:01:04.000 |           4 |2023-08-01 01:01:05.000 |           5 |2023-08-01 01:01:06.000 |           6 |2023-08-01 01:01:07.000 |           7 |2023-08-01 01:01:08.000 |           8 |2023-08-01 01:01:09.000 |           9 |2023-08-01 01:01:10.000 |          10 |2023-08-01 01:01:11.000 | NULL        |> select ts,tail(v1,2) from t7;ts            | tail(v1,2)  |
========================================2023-08-01 01:01:11.000 | NULL        |2023-08-01 01:01:10.000 |          10 |> select ts,tail(v1,2,2) from t7;ts            | tail(v1,2,2) |
=========================================2023-08-01 01:01:09.000 |            9 |2023-08-01 01:01:08.000 |            8 |

TOP

TOP(expr, k)

功能说明: 统计表/超级表中某列的值最大 k 个非 NULL 值。如果多条数据取值一样,全部取用又会超出 k 条限制时,系统会从相同值中随机选取符合要求的数量返回。

返回数据类型:同应用的字段。

适用数据类型:数值类型。

适用于:表和超级表。

使用说明:

  • k值取值范围 1≤k≤100;
  • 系统同时返回该记录关联的时间戳列;
  • 限制:TOP 函数不支持 FILL 子句。

示例:

> select ts,v1 from t7;ts            |     v1      |
========================================2023-08-01 01:01:00.000 | NULL        |2023-08-01 01:01:01.000 |           1 |2023-08-01 01:01:02.000 |           2 |2023-08-01 01:01:03.000 |           3 |2023-08-01 01:01:04.000 |           4 |2023-08-01 01:01:05.000 |           5 |2023-08-01 01:01:06.000 |           6 |2023-08-01 01:01:07.000 |           7 |2023-08-01 01:01:08.000 |           8 |2023-08-01 01:01:09.000 |           9 |2023-08-01 01:01:10.000 |          10 |2023-08-01 01:01:11.000 | NULL        |2023-08-01 01:01:12.000 |          10 |> select ts,top(v1,3) from t7;ts            |  top(v1,3)  |
========================================2023-08-01 01:01:09.000 |           9 |2023-08-01 01:01:10.000 |          10 |2023-08-01 01:01:12.000 |          10 |

UNIQUE

UNIQUE(expr)

功能说明:返回该列数据首次出现的值。该函数功能与 distinct 相似。

返回数据类型:同应用的字段。

适用数据类型:全部类型字段。

适用于: 表和超级表。

示例:

s> select ts,v1 from t7;ts            |     v1      |
========================================2023-08-01 01:01:00.000 | NULL        |2023-08-01 01:01:01.000 |           1 |2023-08-01 01:01:02.000 |           2 |2023-08-01 01:01:03.000 |           3 |2023-08-01 01:01:04.000 |           4 |2023-08-01 01:01:05.000 |           5 |2023-08-01 01:01:06.000 |           6 |2023-08-01 01:01:07.000 |           7 |2023-08-01 01:01:08.000 |           8 |2023-08-01 01:01:09.000 |           9 |2023-08-01 01:01:10.000 |          10 |2023-08-01 01:01:11.000 | NULL        |2023-08-01 01:01:12.000 |          10 |> select unique(v1) from t7;unique(v1)  |
==============NULL        |7 |6 |4 |2 |5 |9 |1 |10 |8 |3 |

相关文章:

TDengine函数大全-选择函数

以下内容来自 TDengine 官方文档 及 GitHub 内容 。 以下所有示例基于 TDengine 3.1.0.3 TDengine函数大全 1.数学函数 2.字符串函数 3.转换函数 4.时间和日期函数 5.聚合函数 6.选择函数 7.时序数据库特有函数 8.系统函数 选择函数 TDengine函数大全BOTTOMFIRSTINTERPLASTLAS…...

非关系型数据库Redis的安装

一、关系型数据库与非关系型数据库的区别&#xff1a;---------面试高频率问题 1、首先了解一下 什么是关系型数据库&#xff1f; 关系型数据库最典型的数据结构是表&#xff0c;由二维表及其之间的联系所组成的一个数据组织。 优点&#xff1a; 易于维护&#xff1a;都是使用…...

oracle 创建数据库

查询表空间的命令 select t1.name,t2.name from v$tablespace t1,v$datafile t2 where t1.ts# t2.ts#; CREATE TABLESPACE ORM_342_BETA DATAFILE /app/oracle/oradata/sysware/ORM_342_BETA.DBF size 800M --存储地址 初始大小800M autoextend on nex…...

wxWidgets从空项目开始Hello World

前文回顾 接上篇&#xff0c;已经是在CodeBlocks20.03配置了wxWidgets3.0.5&#xff0c;并且能够通过项目创建导航创建一个新的工程&#xff0c;并且成功运行。 那么上一个是通过CodeBlocks的模板创建的&#xff0c;一进去就已经是2个头文件2个cpp文件&#xff0c;总是感觉缺…...

【Apollo学习笔记】——规划模块TASK之SPEED_DECIDER

文章目录 前言SPEED_DECIDER功能简介SPEED_DECIDER相关配置SPEED_DECIDER流程MakeObjectDecisionGetSTLocationCheck类函数CheckKeepClearCrossableCheckStopForPedestrianCheckIsFollowCheckKeepClearBlocked Create类函数 前言 在Apollo星火计划学习笔记——Apollo路径规划算…...

【操作系统】一文快速入门,很适合JAVA后端看

作者简介&#xff1a; 目录 1.概述 2.CPU管理 3.内存管理 4.IO管理 1.概述 操作系统可以看作一个计算机的管理系统&#xff0c;对计算机的硬件资源提供了一套完整的管理解决方案。计算机的硬件组成有五大模块&#xff1a;运算器、控制器、存储器、输入设备、输出设备。操作…...

C++ Primer阅读笔记--allocator类的使用

1--allocator类的使用背景 new 在分配内存时具有一定的局限性&#xff0c;其将内存分配和对象构造组合在一起&#xff1b;当分配一大块内存时&#xff0c;一般希望可以在内存上按需构造对象&#xff0c;这时需要将内存分配和对象构造分离&#xff0c;而定义在头文件 memory 的 …...

【C++历险记】面向对象|菱形继承及菱形虚拟继承

个人主页&#xff1a;兜里有颗棉花糖&#x1f4aa; 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 兜里有颗棉花糖 原创 收录于专栏【C之路】&#x1f48c; 本专栏旨在记录C的学习路线&#xff0c;望对大家有所帮助&#x1f647;‍ 希望我们一起努力、成长&…...

【Locomotor运动模块】攀爬

文章目录 一、攀爬主体“伪身体”1、“伪身体”的设置2、“伪身体”和“真实身体”&#xff0c;为什么同步移动3、“伪身体”和“真实身体”&#xff0c;碰到墙时不同步的原因①现象②原因③解决 二、攀爬1、需要的组件&#xff1a;“伪身体”、Climbing、Climbable及Interacto…...

ELK安装、部署、调试(一)设计规划及准备

一、整体规划如图&#xff1a; 【filebeat】 需要收集日志的服务器&#xff0c;安装filebeat软件&#xff0c;用于收集日志。logstash也可以收集日志&#xff0c;但是占用的系统资源过大&#xff0c;所以使用了filebeat来收集日志。 【kafka】 接收filebeat的日志&#xff…...

【CSS】解决对齐的小问题

问题&#xff1a; 表单或者页面上可能遇到文字无法对平均分&#xff0c;带有冒号的文本无法左右对齐的情况 常见的解决方式&#xff1a; 解决如下图 仍无法解决对齐的问题&#xff0c;还需要考虑字数 解决 这里用css的方式解决 增加 i 标签 固定宽度&#xff0c;设置 i …...

【狂神】Spring5(Aop的实现方式)

今天没有偷懒&#xff0c;只是忘了Mybatis&#xff0c;所以去补课了~ ┏━━━━━━━━━━━━━━━┓ NICE PIGGY PIG.. ┗━━━━━━━△━━━━━━━┛ ヽ(&#xff65;ω&#xff65;)&#xff89; | / UU 1.Aop实现方式一 1.1、什…...

第2章 Linux多进程开发 2.18 内存映射

内存映射&#xff1a;可以进行进程间的通信 1.如果对mmap的返回值(ptr)做操作(ptr), munmap是否能够成功? void * ptr mmap(…); ptr; 可以对其进行操作 munmap(ptr, len); // 错误,要保存地址 2.如果open时O_RDONLY, mmap时prot参数指定PROT_READ | PROT_WRITE会怎样? 错…...

【C++深入浅出】类和对象上篇(类的基础、类的模型以及this指针)

目录 一. 前言 二. 面向对象与面向过程 2.1 面向过程 2.2 面向对象 三. 类的基础知识 3.1 类的引入 3.2 类的定义 3.3 成员变量的命名规则 3.4 封装 3.5 类的访问限定符 3.6 类的作用域 3.7 类的实例化 四. 类的对象模型 4.1 类对象的大小 4.2 类对象的存储方式 …...

气象站在日常生活中的重要性

气象站在我们的日常生活中起着重要的作用&#xff0c;它监测着天气的变化&#xff0c;能够提供及时、准确的天气信息&#xff0c;对我们的生产和生活都有着极大的影响。 一、气象站的工作原理 气象站通过一系列传感器设备&#xff0c;对风速、风向、温度、湿度、气压、雨量等…...

数据结构学习系列之用队列实现栈功能与用栈实现队列功能

队列与栈&#xff1a;队列&#xff08;Queue&#xff09;是一种先进先出&#xff08;FIFO&#xff09;的线性表&#xff1b;栈&#xff08;Stack&#xff09;是一种后进先出&#xff08;LIFO&#xff09;的线性表&#xff1b;实例1&#xff1a;用队列实现栈的功能&#xff1b;算…...

PY32F003F18P单片机概述

PY32F003F18P单片机是普冉的一款ARM微控制器&#xff0c;内核是Cortex-M0。这个单片机的特色&#xff0c;就是价格便宜&#xff0c;FLASH和SRAM远远超过8位单片机&#xff0c;市场竞争力很强大。 一、硬件资源&#xff1a; 1)、FLASH为64K字节&#xff1b; 2)、SRAM为8K字节&…...

查看GPU占用率

如何监控NVIDIA GPU 的运行状态和使用情况_nvidia 85c_LiBiGo的博客-CSDN博客设备跟踪和管理正成为机器学习工程的中心焦点。这个任务的核心是在模型训练过程中跟踪和报告gpu的使用效率。有效的GPU监控可以帮助我们配置一些非常重要的超参数&#xff0c;例如批大小&#xff0c;…...

设计模式-中介者模式

文章目录 一、前言二、中介者模式1、定义2、未使用/使用中介者模式对比2.1、未使用中介者模式&#xff1a;2.2、使用中介者模式&#xff1a; 3、角色分析3.1、中介者&#xff08;Mediator&#xff09;&#xff1a;3.2、同事&#xff08;Colleague&#xff09;&#xff1a;3.3、…...

react 大杂烩

组件 1.是返回标签的js函数&#xff0c;是可重复利用的UI元素 function test(){ return ( test ); } 2.构建组件&#xff1a; &#xff08;1&#xff09;export 导出组件 &#xff08;2&#xff09;定义函数&#xff0c;名称必须以大写字母开头 &#xff08;3&#xff09…...

图解 STP

网络环路 现在我们的生活已经离不开网络&#xff0c;如果我家断网&#xff0c;我会抱怨这什么破网络&#xff0c;影响到我刷抖音、打游戏&#xff1b;如果公司断网&#xff0c;那老板估计会骂娘&#xff0c;因为会影响到公司正常运转&#xff0c;直接造成经济损失。网络通信中&…...

Kubernetes技术--k8s核心技术Controller控制器

1.Controller概述 Controller是在集群上管理和运行容器的对象。是一个实际存在的对象。 2.pod和Controller之间的关系 pod通过controller实现应用的运维,包括伸缩、滚动升级等操作。 这里pod和controller通过label标签来建立关系。如下所示: 3.Deployment控制器应用场景 -1:…...

Kubernetes技术--k8s核心技术 Secret

1.概述 Secret 解决了密码、token、密钥等敏感数据的配置问题,而不需要把这些敏感数据暴露到镜像或者 Pod Spec中。Secret可以以 Volume 或者环境变量的方式使用。 作用 加密数据存储在/etc中,使得pod容器以挂载volume方式进行访问。在进行的数据存储中是以base64加密的方式…...

day27 String类 正则表达式

String类的getBytes方法 String s "腻害"; byte[] bytes s.getBytes(StandardCharsets.UTF_8); String类的new String方法 String ss "ss我的"; byte[] gbks ss.getBytes("gbk"); String gbk new String(gbks, "gbk"); String类的…...

Java设计模式:四、行为型模式-10:访问者模式

一、定义&#xff1a;访问者模式 访问者模式&#xff1a;核心在于同一个事物不同视角下的访问信息不同。 在一个稳定的数据结构下&#xff0c;例如用户信息、雇员信息等&#xff0c;增加易变的业务访问逻辑。为了增强扩展性&#xff0c;将两部分的业务解耦的一种设计模式。 二…...

【juc】读写锁ReentrantReadWriteLock

目录 一、说明二、读读不互斥2.1 代码示例2.2 截图示例 三、读写互斥3.1 代码示例3.2 截图示例 四、写写互斥4.1 代码示例4.2 截图示例 五、注意事项5.2.1 代码示例5.2.2 截图示例 一、说明 1.当读操作远远高于写操作时&#xff0c;使用读写锁让读读可以并发&#xff0c;来提高…...

Linux开机启动Tomcat

需求背景 Linux重启后要手动执行"startup.sh"启动Tomcat&#xff0c;比较麻烦&#xff0c;想要Linux开机启动Tomcat。 开机启动 #---------------------------------------------------------- sudo tee /usr/bin/tomcat.sh <<-EOF #! /bin/bash nohup /opt/to…...

javaweb、spring、springmvc和springboot有什么区别,都是做什么用的?

JavaWeb是一种基于Java技术的Web开发模式&#xff0c;用于构建动态的、可交互的Web应用程序。它是一种使用Java语言开发Web应用的技术堆栈&#xff0c;包括Java Servlet、JavaServer Pages&#xff08;JSP&#xff09;、JavaServer Faces&#xff08;JSF&#xff09;等。JavaWe…...

已解决module ‘pip‘ has no attribute ‘pep425tags‘报错问题(如何正确查看pip版本、支持、32位、64位方法汇总)

本文摘要&#xff1a;本文已解决module ‘pip‘ has no attribute ‘pep425tags‘的相关报错问题&#xff0c;并总结提出了几种可用解决方案。同时结合人工智能GPT排除可能得隐患及错误。并且最后说明了如何正确查看pip版本、支持、32位、64位方法汇总 &#x1f60e; 作者介绍&…...

Matlab(画图初阶)

目录 1.plot()函数 2. hold(添加新绘图是否保留旧绘图) 3. Plot Style 3.1 线型 3.2 标记 3.3 颜色 ​编辑 4. legend() 5.X 、Y and Title&#xff1f; 6. Text()和annotation() 7.line(创建基本线条) 7.1 基本语法 7.2 指定线条属性 7.3 更改线条属性 8.图像属性 8.1 …...