使用mysql查询跟踪api调用
我有一个名为使用mysql查询跟踪api调用,mysql,Mysql,我有一个名为api\u keys的表,用于跟踪api事务。提供商apiA给了我3个api键,每个键最多允许5000个调用。我能够运行单独的查询来获取调用总数,具有
api\u keys
的表,用于跟踪api事务。提供商apiA
给了我3个api键,每个键最多允许5000个调用。我能够运行单独的查询来获取调用总数
,具有<5000个调用的api键
,以及具有5000个调用的api键
。但是,如何将这些查询放在一个显示已使用的和未使用的百分比的查询中
期望输出百分比:
+----------+----------+
| Consumed | Not_used |
+----------+----------+
| 70 | 30 |
+----------+----------+
api调用的总数
SELECT COUNT(*) * 5000 as total_api_calls FROM api_keys WHERE `source` = 'apiA';
尚未达到5000次调用的Api密钥:
SELECT * FROM api_keys WHERE `source` = 'apiA' and `transactions` < 5000
两条语句会将每一行的已使用
和未使用
标志适当设置为1或0。然后,您可以将它们加起来,除以总行数,得到百分比
SELECT `source`,
SUM(CASE WHEN transactions < 5000 THEN 1 ELSE 0 END)/COUNT(*)*100 AS 'Not Used',
SUM(CASE WHEN transactions >= 5000 THEN 1 ELSE 0 END)/COUNT(*)*100 AS 'Used'
FROM api_keys
WHERE `source` = 'apiA';
选择`源',
总和(当交易记录<5000时,则为1,否则为0结束)/计数(*)*100为“未使用”,
总和(当事务>=5000时,则为1,否则为0结束)/计数(*)*100作为“已使用”
从api_键
其中,`source`='apiA';
是否有可能获得剩余api调用的总和?@MaryCoding我不明白。你能举个例子吗?例如,总共有10000
个api调用,但我如何显示剩余的可用api调用数,1357
@MaryCoding这是一个完全不同的问题,但答案很短,所以我在这里做<代码>选择id,`source`,事务小于5000时为案例,然后选择5000-其他0个事务作为api_键中的“剩余事务”结束代码>太好了,谢谢你,这为其他可能性打开了大门。
SELECT `source`,
SUM(CASE WHEN transactions < 5000 THEN 1 ELSE 0 END)/COUNT(*)*100 AS 'Not Used',
SUM(CASE WHEN transactions >= 5000 THEN 1 ELSE 0 END)/COUNT(*)*100 AS 'Used'
FROM api_keys
WHERE `source` = 'apiA';