查询唯一值缓存
在 SQL SELECT 语句的 FROM 子句中使用 distinct_cache() SQL 函数,以从 Distinct Value Cache (DVC) 查询数据。
您必须使用 SQL 来查询 DVC。InfluxQL 不支持 distinct_cache() 函数。
distinct_cache() 支持以下参数
- table_name: (必需) DVC 所关联表的名称,格式为字符串字面量。
- cache_name: 要查询的 DVC 的名称,格式为字符串字面量。仅当指定的表关联了多个 DVC 时,才需要此参数。
SELECT * FROM distinct_cache('table_name', 'cache_name')您可以使用其他 SQL 子句 来修改查询结果。例如,您可以使用 WHERE 子句返回与另一个不同标记值相关联的不同标记值。
SELECT
city
FROM
distinct_cache('wind_data', 'windDistinctCache')
WHERE
country = 'Spain'使用 HTTP API
要使用 HTTP API 查询缓存的数据,请向 /api/v3/query_sql 端点发送 GET 或 POST 请求,并在您的查询中包含 distinct_cache() 函数。
GET /api/v3/query_sql
POST /api/v3/query_sql
curl -X POST "https://:8181/api/v3/query_sql" \
--header "Authorization: Bearer AUTH_TOKEN" \
--json '{
"db": "DATABASE_NAME",
"q": "SELECT * FROM distinct_cache('\''TABLE_NAME'\'', '\''CACHE_NAME'\'')",
"format": "json"
}'带 WHERE 子句的示例
curl -X POST "https://:8181/api/v3/query_sql" \
--header "Authorization: Bearer 00xoXX0xXXx0000XxxxXx0Xx0xx0" \
--json '{
"db": "example-db",
"q": "SELECT room, temp FROM last_cache('\''home'\'', '\''homeCache'\'') WHERE room = '\''Kitchen'\''",
"format": "json"
}'此页面是否有帮助?
感谢您的反馈!
支持和反馈
感谢您成为我们社区的一员!我们欢迎并鼓励您对 InfluxDB 3 Core 和本文档提供反馈和错误报告。要获得支持,请使用以下资源
具有年度合同或支持合同的客户可以 联系 InfluxData 支持。