阿里云日志服务sls里存在一个表名为log的表,口数据所在字段名为request uri,接口数据中需要截取掉‘?’后会随机变化的内容,保留前面固定不变的内容,域名所在字段名为host,根据以上情况写出选择域名的情况下接口数据及占比的正确sql
时间: 2024-02-17 21:59:43 浏览: 51
data-uri:一个用于将文本和文件转换为数据URI的Web应用程序
根据以上情况,可以使用如下SQL语句来选择域名的情况下接口数据及占比:
```
SELECT
SUBSTR(`request uri`, 1, INSTR(`request uri`, '?')-1) AS api,
`host`,
COUNT(*) AS cnt,
COUNT(*)/(SELECT COUNT(*) FROM log WHERE `host` = 'xxx.aliyun.com') AS ratio
FROM
log
WHERE
`host` = 'xxx.aliyun.com'
GROUP BY
`api`
ORDER BY
cnt DESC;
```
其中,将 `request uri` 字段截取固定内容的方法是使用 `SUBSTR` 函数和 `INSTR` 函数,前者用于截取字符串,后者用于查找 `?` 的位置。`host` 字段直接使用即可。
最后,使用 `GROUP BY` 对 `api` 字段进行分组,并使用 `COUNT` 函数统计出现的次数,再使用子查询计算出占比,最后使用 `ORDER BY` 按照数量倒序排序。
阅读全文