SELECT domain_name, http_port, DATE_FORMAT(FROM_UNIXTIME(TIME), '%Y-%m-%d') AS day, COUNT(*) AS count, SUM(ll) / (1024 * 1024) AS ll, SUM(llsd) / (1024 * 1024) AS llsd, SUM(cksj) / (1024 * 1024) AS cksj FROM video_traffic_record GROUP BY domain_name, http_port, day ORDER BY day DESC LIMIT 10 OFFSET 2如何转换成elasticsearch-sql?
时间: 2024-03-08 17:50:02 浏览: 59
FROM_UNIXTIME 格式化MYSQL时间戳函数
如果您使用的是 Elasticsearch-sql 插件,可以使用类似 SQL 的查询语句来查询 Elasticsearch 数据。
以下是与原始查询语句相对应的 Elasticsearch-sql 查询语句:
```
POST /_xpack/sql
{
"query": "SELECT domain_name, http_port, date_format(date_trunc('day', to_timestamp(TIME)), 'YYYY-MM-DD') AS day, COUNT(*) AS count, SUM(ll) / (1024 * 1024) AS ll, SUM(llsd) / (1024 * 1024) AS llsd, SUM(cksj) / (1024 * 1024) AS cksj FROM video_traffic_record GROUP BY domain_name, http_port, day ORDER BY day DESC LIMIT 2,10"
}
```
注意,Elasticsearch-sql 插件支持类似 SQL 的查询语句,但是并不支持所有的 SQL 语法,因此有些查询语句可能无法转换为 Elasticsearch-sql 查询语句。另外,Elasticsearch-sql 插件已经不再是一个独立的插件,而是包含在 Elasticsearch 的核心功能中。如果您使用的是较新版本的 Elasticsearch,可以直接使用 Elasticsearch 的 SQL 查询语法。
阅读全文