传奇凤凰

SQL语句查询近一个月的接口的调用量

 

前言:公司给医院做了一个APP,现在院方要求统计近一个月来的各个接口的调用量,来看看使用的人多不多以及哪些功能使用的最频繁。好在有一张表是用来统计接口的请求时间、请求方法的,就下来就是要想想sql语句该怎么写了。

sql语句需要实现的效果:

1、要查询的表的结构如下图(主要用到的字段就是以下标注的两个字段):

表内容(部分数据)如下所示:

 注:create_time的格式是 yyyy-MM-dd HH:mm:ss

2、最左侧的一列要展示最近一个月的时间,需要用到DATE_FORMAT这个函数(参考地址

DATE_FORMAT(date,format)
其中,date就是你的时间参数,format 是规定日期/时间的输出格式,格式的话,这边用到以下三个:

(1)%Y 年,4位
(2)%m 月,数值(00-12)
(3)%d 天,数值(00-31)
最初的sql语句:select date_format( create_time, '%Y%m%d' ) day from sys_method_log_record s group by day
执行结果:

 3、把method字段中的各个方法名转成中文名称显示在右边(几个方法就显示几列,这边以两个方法为例)

method字段中保存的是英文的方法名,转成中文需要用到case when语句。

增加case when之后的sql语句:

select
  date_format( create_time, '%Y%m%d' ) day,
  count(case s.method when 'listIntPatient' then 1 end) as '住院患者列表',
  count(case s.method when 'listOutPatient' then 1 end) as '门诊患者列表'
from
  sys_method_log_record s
where
  s.method in('listIntPatient','listOutPatient')
group by
  day;

执行sql后的结果如下图:

 达到当初预计的结果,问题解决。

 

 

posted on 2019-11-06 19:01  传奇凤凰  阅读(700)  评论(1编辑  收藏  举报

导航