文档说明

使用 InfluxQL 探索您的模式

查看等效的 InfluxDB v2 文档: 使用 Flux 探索数据模式.

InfluxQL 是一种类似于 SQL 的查询语言,用于与 InfluxDB 中的数据进行交互。以下部分涵盖了用于探索您的 模式 的有用查询语法。

显示数据库显示保留策略显示系列
显示度量显示标签键显示标签值
显示字段键按时间过滤元查询

示例数据

本文档中使用的数据可在 样本数据 页面上下载。

在继续之前,请登录到 Influx CLI。

$ influx -precision rfc3339
Connected to https://127.0.0.1:8086 version 1.11.7
InfluxDB shell 1.11.7
>

显示数据库

返回实例上所有 数据库 的列表。

语法

SHOW DATABASES

示例

运行 SHOW DATABASES 查询

> SHOW DATABASES

name: databases
name
----
NOAA_water_database
_internal

查询以表格格式返回数据库名称。此 InfluxDB 实例有两个数据库:NOAA_water_database_internal

显示保留策略

返回指定 数据库保留策略 列表。

语法

SHOW RETENTION POLICIES [ON <database_name>]

语法说明

ON <database_name> 是可选的。如果查询不包括 ON <database_name>,则必须在 CLI 中使用 USE <database_name> 指定数据库,或者在 InfluxDB API 请求中使用 db 查询字符串参数。

示例

使用 ON 子句运行 SHOW RETENTION POLICIES 查询

> SHOW RETENTION POLICIES ON NOAA_water_database

name      duration   shardGroupDuration   replicaN   default
----      --------   ------------------   --------   -------
autogen   0s         168h0m0s             1          true

查询以表格格式返回 NOAA_water_database 数据库中的保留策略列表。该数据库有一个名为 autogen 的保留策略。该 autogen 保留策略具有无限 持续时间,七天 分片组持续时间,一个 复制因子,并且是数据库的 DEFAULT 保留策略。

不使用 ON 子句运行 SHOW RETENTION POLICIES 查询

使用 USE <database_name> 指定数据库

> USE NOAA_water_database
Using database NOAA_water_database

> SHOW RETENTION POLICIES

name      duration   shardGroupDuration   replicaN   default
----      --------   ------------------   --------   -------
autogen   0s         168h0m0s             1          true

使用 db 查询字符串参数指定数据库

~# curl -G "https://127.0.0.1:8086/query?db=NOAA_water_database&pretty=true" --data-urlencode "q=SHOW RETENTION POLICIES"

{
    "results": [
        {
            "statement_id": 0,
            "series": [
                {
                    "columns": [
                        "name",
                        "duration",
                        "shardGroupDuration",
                        "replicaN",
                        "default"
                    ],
                    "values": [
                        [
                            "autogen",
                            "0s",
                            "168h0m0s",
                            1,
                            true
                        ]
                    ]
                }
            ]
        }
    ]
}

显示系列

返回指定 数据库系列 列表。

语法

SHOW SERIES [ON <database_name>] [FROM_clause] [WHERE <tag_key> <operator> [ '<tag_value>' | <regular_expression>]] [LIMIT_clause] [OFFSET_clause]

语法说明

ON <database_name> 是可选的。如果查询不包括 ON <database_name>,则必须在 CLI 中使用 USE <database_name> 指定数据库,或者在 InfluxDB API 请求中使用 db 查询字符串参数。 SHOW SERIES 只返回数据库的默认保留策略中的系列,如果没有默认保留策略,则失败。

FROMWHERELIMITOFFSET 子句是可选的。 WHERE 子句支持标签比较;对于 SHOW SERIES 查询,字段比较无效。

WHERE子句中支持的操作符:= 等于 <> 不等于 != 不等于 =~ 匹配 !~ 不匹配

请参阅数据探索页面,以获取有关FROM子句LIMIT子句OFFSET子句以及查询中的正则表达式的文档。

示例

使用ON子句运行SHOW SERIES查询

// Returns series for all shards in the database and default retention policy
> SHOW SERIES ON NOAA_water_database

key
---
average_temperature,location=coyote_creek
average_temperature,location=santa_monica
h2o_feet,location=coyote_creek
h2o_feet,location=santa_monica
h2o_pH,location=coyote_creek
h2o_pH,location=santa_monica
h2o_quality,location=coyote_creek,randtag=1
h2o_quality,location=coyote_creek,randtag=2
h2o_quality,location=coyote_creek,randtag=3
h2o_quality,location=santa_monica,randtag=1
h2o_quality,location=santa_monica,randtag=2
h2o_quality,location=santa_monica,randtag=3
h2o_temperature,location=coyote_creek
h2o_temperature,location=santa_monica

查询的输出类似于行协议格式。第一个逗号之前的内容是测量名称。第一个逗号之后的内容是标签键标签值。在NOAA_water_database中,有五个不同的测量和14个不同的序列。

不使用ON子句运行SHOW SERIES查询

使用 USE <database_name> 指定数据库

> USE NOAA_water_database
Using database NOAA_water_database

> SHOW SERIES

key
---
average_temperature,location=coyote_creek
average_temperature,location=santa_monica
h2o_feet,location=coyote_creek
h2o_feet,location=santa_monica
h2o_pH,location=coyote_creek
h2o_pH,location=santa_monica
h2o_quality,location=coyote_creek,randtag=1
h2o_quality,location=coyote_creek,randtag=2
h2o_quality,location=coyote_creek,randtag=3
h2o_quality,location=santa_monica,randtag=1
h2o_quality,location=santa_monica,randtag=2
h2o_quality,location=santa_monica,randtag=3
h2o_temperature,location=coyote_creek
h2o_temperature,location=santa_monica

使用 db 查询字符串参数指定数据库

~# curl -G "https://127.0.0.1:8086/query?db=NOAA_water_database&pretty=true" --data-urlencode "q=SHOW SERIES"

{
    "results": [
        {
            "statement_id": 0,
            "series": [
                {
                    "columns": [
                        "key"
                    ],
                    "values": [
                        [
                            "average_temperature,location=coyote_creek"
                        ],
                        [
                            "average_temperature,location=santa_monica"
                        ],
                        [
                            "h2o_feet,location=coyote_creek"
                        ],
                        [
                            "h2o_feet,location=santa_monica"
                        ],
                        [
                            "h2o_pH,location=coyote_creek"
                        ],
                        [
                            "h2o_pH,location=santa_monica"
                        ],
                        [
                            "h2o_quality,location=coyote_creek,randtag=1"
                        ],
                        [
                            "h2o_quality,location=coyote_creek,randtag=2"
                        ],
                        [
                            "h2o_quality,location=coyote_creek,randtag=3"
                        ],
                        [
                            "h2o_quality,location=santa_monica,randtag=1"
                        ],
                        [
                            "h2o_quality,location=santa_monica,randtag=2"
                        ],
                        [
                            "h2o_quality,location=santa_monica,randtag=3"
                        ],
                        [
                            "h2o_temperature,location=coyote_creek"
                        ],
                        [
                            "h2o_temperature,location=santa_monica"
                        ]
                    ]
                }
            ]
        }
    ]
}

使用几个子句运行SHOW SERIES查询

> SHOW SERIES ON NOAA_water_database FROM "h2o_quality" WHERE "location" = 'coyote_creek' LIMIT 2

key
---
h2o_quality,location=coyote_creek,randtag=1
h2o_quality,location=coyote_creek,randtag=2

该查询返回与h2o_quality测量和标签location = coyote_creek关联的NOAA_water_database数据库中的所有序列。该LIMIT子句将返回的序列数量限制为两个。

运行时间限制的SHOW SERIES查询

限制返回的序列在指定的分片组持续时间内。

// Returns all series in the current shard.
> SHOW SERIES ON NOAA_water_database WHERE time > now() - 1m

key
---
average_temperature,location=coyote_creek
h2o_feet,location=coyote_creek
h2o_pH,location=coyote_creek
h2o_quality,location=coyote_creek,randtag=1
h2o_quality,location=coyote_creek,randtag=2
h2o_quality,location=coyote_creek,randtag=3
h2o_temperature,location=coyote_creek

上述查询返回当前分片组中NOAA_water_database数据库中的所有序列。WHERE子句将结果限制在包含最后一分钟时间戳的分片组中的序列。注意,如果分片组持续时间为7天,则返回的结果可能高达7天。

// Returns all series in shard groups that contain a timestamp in the last 28 days.
> SHOW SERIES ON NOAA_water_database WHERE time > now() - 28d

key
---
average_temperature,location=coyote_creek
average_temperature,location=santa_monica
h2o_feet,location=coyote_creek
h2o_feet,location=santa_monica
h2o_pH,location=coyote_creek
h2o_pH,location=santa_monica
h2o_quality,location=coyote_creek,randtag=1
h2o_quality,location=coyote_creek,randtag=2
h2o_quality,location=coyote_creek,randtag=3
h2o_quality,location=santa_monica,randtag=1
h2o_quality,location=santa_monica,randtag=2
h2o_quality,location=santa_monica,randtag=3
h2o_temperature,location=coyote_creek
h2o_temperature,location=santa_monica

注意,如果指定的分片组持续时间为7天,上述查询将返回最后3个或4个分片。

显示度量

返回指定数据库的测量列表。

语法

SHOW MEASUREMENTS [ON <database_name>] [WITH MEASUREMENT <operator> ['<measurement_name>' | <regular_expression>]] [WHERE <tag_key> <operator> ['<tag_value>' | <regular_expression>]] [LIMIT_clause] [OFFSET_clause]

语法描述

ON <database_name> 是可选的。如果查询不包括 ON <database_name>,则必须在 CLI 中使用 USE <database_name> 指定数据库,或者在 InfluxDB API 请求中使用 db 查询字符串参数。

WITHWHERELIMITOFFSET子句是可选的。WHERE子句支持标签比较;对于SHOW MEASUREMENTS查询,字段比较是无效的。

WHERE子句中支持的操作符:= 等于 <> 不等于 != 不等于 =~ 匹配 !~ 不匹配

请参阅数据探索页面,以获取有关LIMIT子句OFFSET子句以及查询中的正则表达式的文档。

示例

使用ON子句运行SHOW MEASUREMENTS查询

> SHOW MEASUREMENTS ON NOAA_water_database

name: measurements
name
----
average_temperature
h2o_feet
h2o_pH
h2o_quality
h2o_temperature

该查询返回NOAA_water_database数据库中的测量列表。该数据库有五个测量:average_temperatureh2o_feeth2o_pHh2o_qualityh2o_temperature

不使用ON子句运行SHOW MEASUREMENTS查询

使用 USE <database_name> 指定数据库

> USE NOAA_water_database
Using database NOAA_water_database

> SHOW MEASUREMENTS
name: measurements
name
----
average_temperature
h2o_feet
h2o_pH
h2o_quality
h2o_temperature

使用 db 查询字符串参数指定数据库

~# curl -G "https://127.0.0.1:8086/query?db=NOAA_water_database&pretty=true" --data-urlencode "q=SHOW MEASUREMENTS"

{
  {
      "results": [
          {
              "statement_id": 0,
              "series": [
                  {
                      "name": "measurements",
                      "columns": [
                          "name"
                      ],
                      "values": [
                          [
                              "average_temperature"
                          ],
                          [
                              "h2o_feet"
                          ],
                          [
                              "h2o_pH"
                          ],
                          [
                              "h2o_quality"
                          ],
                          [
                              "h2o_temperature"
                          ]
                      ]
                  }
              ]
          }
      ]
  }

使用几个子句运行SHOW MEASUREMENTS查询(i)

> SHOW MEASUREMENTS ON NOAA_water_database WITH MEASUREMENT =~ /h2o.*/ LIMIT 2 OFFSET 1

name: measurements
name
----
h2o_pH
h2o_quality

该查询返回以h2o开头的NOAA_water_database数据库中的测量。LIMIT和OFFSET子句将返回的测量名称数量限制为两个,并将结果偏移量设置为1,跳过了h2o_feet测量。

使用几个子句运行SHOW MEASUREMENTS查询(ii)

> SHOW MEASUREMENTS ON NOAA_water_database WITH MEASUREMENT =~ /h2o.*/ WHERE "randtag"  =~ /\d/

name: measurements
name
----
h2o_quality

该查询返回以h2o开头且标签键randtag的值包含整数的NOAA_water_database中的所有测量。

显示标签键

返回与指定数据库关联的标签键列表。

语法

SHOW TAG KEYS [ON <database_name>] [FROM_clause] WITH KEY [ [<operator> "<tag_key>" | <regular_expression>] | [IN ("<tag_key1>","<tag_key2")]] [WHERE <tag_key> <operator> ['<tag_value>' | <regular_expression>]] [LIMIT_clause] [OFFSET_clause]

语法说明

ON <database_name> 是可选的。如果查询不包括 ON <database_name>,则必须在 CLI 中使用 USE <database_name> 指定数据库,或者在 InfluxDB API 请求中使用 db 查询字符串参数。

FROM子句和WHERE子句是可选的。WHERE子句支持标签比较;对于SHOW TAG KEYS查询,字段比较是无效的。

WHERE子句中支持的操作符:= 等于 <> 不等于 != 不等于 =~ 匹配 !~ 不匹配

请参阅数据探索页面,以获取有关FROM子句LIMIT子句OFFSET子句以及查询中的正则表达式的文档。

示例

使用SHOW TAG KEYS查询,并带有ON子句

> SHOW TAG KEYS ON "NOAA_water_database"

name: average_temperature
tagKey
------
location

name: h2o_feet
tagKey
------
location

name: h2o_pH
tagKey
------
location

name: h2o_quality
tagKey
------
location
randtag

name: h2o_temperature
tagKey
------
location

查询返回NOAA_water_database数据库中标签键的列表。输出按测量名称分组标签键;显示每个测量都包含location标签键,并且h2o_quality测量还有一个额外的randtag标签键。

运行不带ON子句的SHOW TAG KEYS查询

使用 USE <database_name> 指定数据库

> USE NOAA_water_database
Using database NOAA_water_database

> SHOW TAG KEYS

name: average_temperature
tagKey
------
location

name: h2o_feet
tagKey
------
location

name: h2o_pH
tagKey
------
location

name: h2o_quality
tagKey
------
location
randtag

name: h2o_temperature
tagKey
------
location

使用 db 查询字符串参数指定数据库

~# curl -G "https://127.0.0.1:8086/query?db=NOAA_water_database&pretty=true" --data-urlencode "q=SHOW TAG KEYS"

{
    "results": [
        {
            "statement_id": 0,
            "series": [
                {
                    "name": "average_temperature",
                    "columns": [
                        "tagKey"
                    ],
                    "values": [
                        [
                            "location"
                        ]
                    ]
                },
                {
                    "name": "h2o_feet",
                    "columns": [
                        "tagKey"
                    ],
                    "values": [
                        [
                            "location"
                        ]
                    ]
                },
                {
                    "name": "h2o_pH",
                    "columns": [
                        "tagKey"
                    ],
                    "values": [
                        [
                            "location"
                        ]
                    ]
                },
                {
                    "name": "h2o_quality",
                    "columns": [
                        "tagKey"
                    ],
                    "values": [
                        [
                            "location"
                        ],
                        [
                            "randtag"
                        ]
                    ]
                },
                {
                    "name": "h2o_temperature",
                    "columns": [
                        "tagKey"
                    ],
                    "values": [
                        [
                            "location"
                        ]
                    ]
                }
            ]
        }
    ]
}

运行带有几个子句的SHOW TAG KEYS查询

> SHOW TAG KEYS ON "NOAA_water_database" FROM "h2o_quality" LIMIT 1 OFFSET 1

name: h2o_quality
tagKey
------
randtag

查询返回NOAA_water_database数据库中h2o_quality测量中的标签键。`LIMIT`和`OFFSET`子句限制了返回的标签键数量为一个,并将结果偏移了一个。

运行带有WITH KEY IN子句的SHOW TAG KEYS查询

> SHOW TAG KEYS ON "telegraf" WITH KEY IN ("host","region")

"measurement","tagKey"
"cpu","host"
"cpu_load_short","host"
"cpu_load_short","region"
"disk","host"
"diskio","host"
"docker","host"
"docker_container_blkio","host"
"docker_container_cpu","host"
"docker_container_mem","host"
"docker_container_status","host"

显示标签值

返回数据库中指定tag key(s)tag value(s)列表。

语法

SHOW TAG VALUES [ON <database_name>][FROM_clause] WITH KEY [ [<operator> "<tag_key>" | <regular_expression>] | [IN ("<tag_key1>","<tag_key2")]] [WHERE <tag_key> <operator> ['<tag_value>' | <regular_expression>]] [LIMIT_clause] [OFFSET_clause]

语法说明

ON <database_name> 是可选的。如果查询不包括 ON <database_name>,则必须在 CLI 中使用 USE <database_name> 指定数据库,或者在 InfluxDB API 请求中使用 db 查询字符串参数。

WITH子句是必需的。它支持指定单个标签键、正则表达式和多个标签键。

FROMWHERELIMITOFFSET子句是可选的。`WHERE`子句支持标签比较;对于`SHOW TAG KEYS`查询,字段比较是无效的。

WITHWHERE子句中支持的运算符:=等于<>不等于!=不等于=~匹配!~不匹配

请参阅数据探索页面,以获取有关FROM子句LIMIT子句OFFSET子句以及查询中的正则表达式的文档。

示例

使用ON子句运行SHOW TAG VALUES查询

> SHOW TAG VALUES ON "NOAA_water_database" WITH KEY = "randtag"

name: h2o_quality
key       value
---       -----
randtag   1
randtag   2
randtag   3

查询返回NOAA_water_database数据库中randtag标签键的所有标签值。《SHOW TAG VALUES》按测量名称分组查询结果。

运行不带ON子句的SHOW TAG VALUES查询

使用 USE <database_name> 指定数据库

> USE NOAA_water_database
Using database NOAA_water_database

> SHOW TAG VALUES WITH KEY = "randtag"

name: h2o_quality
key       value
---       -----
randtag   1
randtag   2
randtag   3

使用 db 查询字符串参数指定数据库

~# curl -G "https://127.0.0.1:8086/query?db=NOAA_water_database&pretty=true" --data-urlencode 'q=SHOW TAG VALUES WITH KEY = "randtag"'

{
    "results": [
        {
            "statement_id": 0,
            "series": [
                {
                    "name": "h2o_quality",
                    "columns": [
                        "key",
                        "value"
                    ],
                    "values": [
                        [
                            "randtag",
                            "1"
                        ],
                        [
                            "randtag",
                            "2"
                        ],
                        [
                            "randtag",
                            "3"
                        ]
                    ]
                }
            ]
        }
    ]
}

运行带有几个子句的SHOW TAG VALUES查询

> SHOW TAG VALUES ON "NOAA_water_database" WITH KEY IN ("location","randtag") WHERE "randtag" =~ /./ LIMIT 3

name: h2o_quality
key        value
---        -----
location   coyote_creek
location   santa_monica
randtag	   1

查询返回在NOAA_water_database数据库中具有标签值的randtag标签键的标签值,并且所有测量都在其中。`LIMIT`子句限制了返回的标签值数量为三个。

显示字段键

返回field key和它们field value的数据类型。

语法

SHOW FIELD KEYS [ON <database_name>] [FROM <measurement_name>]

语法说明

ON <database_name> 是可选的。如果查询不包括 ON <database_name>,则必须在 CLI 中使用 USE <database_name> 指定数据库,或者在 InfluxDB API 请求中使用 db 查询字符串参数。

FROM子句也是可选的。请参阅数据探索页面以获取有关FROM子句的文档。

注意:字段的类型可以在分片之间有所不同。如果您的字段有多种类型,`SHOW FIELD KEYS`返回在以下列表中首先出现的类型:float、integer、string、boolean。

示例

使用ON子句运行SHOW FIELD KEYS查询

> SHOW FIELD KEYS ON "NOAA_water_database"

name: average_temperature
fieldKey            fieldType
--------            ---------
degrees             float

name: h2o_feet
fieldKey            fieldType
--------            ---------
level description   string
water_level         float

name: h2o_pH
fieldKey            fieldType
--------            ---------
pH                  float

name: h2o_quality
fieldKey            fieldType
--------            ---------
index               float

name: h2o_temperature
fieldKey            fieldType
--------            ---------
degrees             float

查询返回NOAA_water_database数据库中每个测量的字段键和字段值数据类型。

运行不带ON子句的SHOW FIELD KEYS查询

使用 USE <database_name> 指定数据库

> USE NOAA_water_database
Using database NOAA_water_database

> SHOW FIELD KEYS

name: average_temperature
fieldKey            fieldType
--------            ---------
degrees             float

name: h2o_feet
fieldKey            fieldType
--------            ---------
level description   string
water_level         float

name: h2o_pH
fieldKey            fieldType
--------            ---------
pH                  float

name: h2o_quality
fieldKey            fieldType
--------            ---------
index               float

name: h2o_temperature
fieldKey            fieldType
--------            ---------
degrees             float

使用 db 查询字符串参数指定数据库

~# curl -G "https://127.0.0.1:8086/query?db=NOAA_water_database&pretty=true" --data-urlencode 'q=SHOW FIELD KEYS'

{
    "results": [
        {
            "statement_id": 0,
            "series": [
                {
                    "name": "average_temperature",
                    "columns": [
                        "fieldKey",
                        "fieldType"
                    ],
                    "values": [
                        [
                            "degrees",
                            "float"
                        ]
                    ]
                },
                {
                    "name": "h2o_feet",
                    "columns": [
                        "fieldKey",
                        "fieldType"
                    ],
                    "values": [
                        [
                            "level description",
                            "string"
                        ],
                        [
                            "water_level",
                            "float"
                        ]
                    ]
                },
                {
                    "name": "h2o_pH",
                    "columns": [
                        "fieldKey",
                        "fieldType"
                    ],
                    "values": [
                        [
                            "pH",
                            "float"
                        ]
                    ]
                },
                {
                    "name": "h2o_quality",
                    "columns": [
                        "fieldKey",
                        "fieldType"
                    ],
                    "values": [
                        [
                            "index",
                            "float"
                        ]
                    ]
                },
                {
                    "name": "h2o_temperature",
                    "columns": [
                        "fieldKey",
                        "fieldType"
                    ],
                    "values": [
                        [
                            "degrees",
                            "float"
                        ]
                    ]
                }
            ]
        }
    ]
}

使用FROM子句运行SHOW FIELD KEYS查询

> SHOW FIELD KEYS ON "NOAA_water_database" FROM "h2o_feet"

name: h2o_feet
fieldKey            fieldType
--------            ---------
level description   string
water_level         float

查询返回NOAA_water_database数据库中h2o_feet测量的字段键和字段值数据类型。

SHOW FIELD KEYS查询的常见问题

SHOW FIELD KEYS和字段类型不匹配

字段值数据类型不能在分片内不同,但可以在分片之间不同。SHOW FIELD KEYS返回与字段键相关联的每个数据类型,包括每个分片。

示例

all_the_types字段存储了四种不同的数据类型

> SHOW FIELD KEYS

name: mymeas
fieldKey        fieldType
--------        ---------
all_the_types   integer
all_the_types   float
all_the_types   string
all_the_types   boolean

请注意,`SHOW FIELD KEYS`处理字段类型不匹配的方式与`SELECT`语句不同。有关更多信息,请参阅InfluxDB如何处理分片之间的字段类型不匹配?

SHOW CARDINALITY

SHOW CARDINALITY 指的是一组命令,用于估计或精确计数测量、系列、标签键、标签键值和字段键的基数。

有关 SHOW CARDINALITY 命令的更多信息,请参阅 InfluxQL 参考条目

SHOW FIELD KEY CARDINALITY

-- show estimated cardinality of the field key set of current database
SHOW FIELD KEY CARDINALITY
-- show exact cardinality on field key set of specified database
SHOW FIELD KEY EXACT CARDINALITY ON mydb

SHOW MEASUREMENT KEY CARDINALITY

-- show estimated cardinality of measurement set on current database
SHOW MEASUREMENT CARDINALITY
-- show exact cardinality of measurement set on specified database
SHOW MEASUREMENT EXACT CARDINALITY ON mydb

SHOW SERIES CARDINALITY

-- show estimated cardinality of the series on current database
SHOW SERIES CARDINALITY
-- show estimated cardinality of the series on specified database
SHOW SERIES CARDINALITY ON mydb
-- show exact series cardinality
SHOW SERIES EXACT CARDINALITY
-- show series cardinality of the series on specified database
SHOW SERIES EXACT CARDINALITY ON mydb

SHOW TAG KEY CARDINALITY

-- show estimated tag key cardinality
SHOW TAG KEY CARDINALITY
-- show exact tag key cardinality
SHOW TAG KEY EXACT CARDINALITY

SHOW TAG VALUES CARDINALITY

-- show estimated tag key values cardinality for a specified tag key
SHOW TAG VALUES CARDINALITY WITH KEY = "myTagKey"
-- show estimated tag key values cardinality for a specified tag key
SHOW TAG VALUES CARDINALITY WITH KEY = "myTagKey"
-- show exact tag key values cardinality for a specified tag key
SHOW TAG VALUES EXACT CARDINALITY WITH KEY = "myTagKey"
-- show exact tag key values cardinality for a specified tag key
SHOW TAG VALUES EXACT CARDINALITY WITH KEY = "myTagKey"

按时间过滤元查询

当您通过时间过滤元查询时,您可能会看到您指定的时间之外的结果。元查询结果在分片级别进行过滤,因此结果可以与您的分片组持续时间大致相同。如果您的过滤器跨越多个分片,则将获得所有分片中指定时间范围内的结果。要查看分片以及分片中的点的时间戳,请运行 SHOW SHARDS。有关分片及其持续时间的信息,请参阅 推荐的分片组持续时间

以下示例显示了如何使用 1h 分片组持续时间按大约一小时过滤 SHOW TAG KEYS。要过滤其他元数据,将 SHOW TAG KEYS 替换为 SHOW TAG VALUESSHOW SERIESSHOW FIELD KEYS 等。

注意:SHOW MEASUREMENTS 不能按时间过滤。

按时间过滤 SHOW TAG KEYS 的示例

  1. 在新建数据库时指定分片持续时间或 更改现有分片持续时间。要创建新数据库时指定 1h 分片持续时间,请运行以下命令

    > CREATE database mydb with duration 7d REPLICATION 1 SHARD DURATION 1h name myRP;
    

    注意:最小分片持续时间是 1h。

  2. 通过运行 SHOW SHARDS 命令来验证分片持续时间是否具有正确的时间间隔(精度)。以下示例显示了一个具有一小时精度的分片持续时间。

    > SHOW SHARDS
    name: mydb
    id database retention_policy shard_group start_time end_time expiry_time owners
    -- -------- ---------------- ----------- ---------- -------- ----------- ------
    > precision h
    
  3. (可选) 插入示例标签键。此步骤仅用于演示目的。如果您已经拥有要搜索的标签键(或其他元数据),请跳过此步骤。

    // Insert a sample tag called "test_key" into the "test" measurement, and then check the timestamp:
    > INSERT test,test_key=hello value=1
    
    > select * from test
    name: test
    time test_key value
    ---- -------- -----
    434820 hello 1
    
    // Add new tag keys with timestamps one, two, and three hours earlier:
    
    > INSERT test,test_key_1=hello value=1 434819
    > INSERT test,test_key_2=hello value=1 434819
    > INSERT test,test_key_3_=hello value=1 434818
    > INSERT test,test_key_4=hello value=1 434817
    > INSERT test,test_key_5_=hello value=1 434817
    
  4. 要找到分片持续时间内的标签键,请运行以下命令之一

    SHOW TAG KEYS ON database-name <WHERE time clause>

    SELECT * FROM measurement <WHERE time clause>

    以下示例使用步骤 3 中的测试数据。

    //Using data from Step 3, show tag keys between now and an hour ago
    > SHOW TAG KEYS ON mydb where time > now() -1h and time < now()
    name: test
    tagKey
    ------
    test_key
    test_key_1
    test_key_2
    
    // Find tag keys between one and two hours ago
    > SHOW TAG KEYS ON mydb where > time > now() -2h and time < now()-1h
    name: test
    tagKey
    ------
    test_key_1
    test_key_2
    test_key_3
    
    // Find tag keys between two and three hours ago
    > SHOW TAG KEYS ON mydb where > time > now() -3h and time < now()-2h
    name: test
    tagKey
    ------
    test_key_3
    test_key_4
    test_key_5
    
    // For a specified measurement, find tag keys in a given shard by specifying the time boundaries of the shard
    > SELECT * FROM test WHERE time >= '2019-08-09T00:00:00Z' and time < '2019-08-09T10:00:00Z'
    name: test
    time test_key_4 test_key_5 value
    ---- ------------ ------------ -----
    434817 hello 1
    434817 hello 1
    
    // For a specified database, find tag keys in a given shard by specifying the time boundaries of the shard
    > SHOW TAG KEYS ON mydb WHERE time >= '2019-08-09T00:00:00Z' and time < '2019-08-09T10:00:00Z'
    name: test
    tagKey
    ------
    test_key_4
    test_key_5
    

这个页面有帮助吗?

感谢您的反馈!


Flux 的未来

Flux 正在进入维护模式。您可以继续像现在一样使用它,而无需对您的代码进行任何更改。

阅读更多

InfluxDB v3 增强功能和 InfluxDB 集群现已正式发布

新功能包括更快的查询性能和管理工具升级,推动了InfluxDB v3产品线的进步。InfluxDB Clustered现已正式发布。

InfluxDB v3性能与功能

InfluxDB v3产品线在查询性能方面有了显著提升,并提供了新的管理工具。这些改进包括用于监控InfluxDB集群健康状况的操作仪表板、InfluxDB Cloud Dedicated中的单点登录(SSO)支持以及针对令牌和数据库的新管理API。

了解v3新增强功能


InfluxDB Clustered正式发布

InfluxDB Clustered现已正式发布,并为您在自管理堆栈中提供了InfluxDB v3的强大功能。

与我们讨论InfluxDB Clustered