使用sql实现查询折线图每个时间段数量取值

       在工作中,我们有时候会出现需要根据某个时间字段进行区分,按照一定的时间区间来统计每个时间区间内的数量,多用于给折线图、柱状图提供数据的情景,之前遇到过一次,找到了一个比较好的处理方法,只需要使用sql语句就可以实现了。

我们最终需要给如下图供数据:

使用sql实现查询折线图每个时间段数量取值_第1张图片

组件要求提供的数据模型如下图:

使用sql实现查询折线图每个时间段数量取值_第2张图片

         我们已单表为例,时间字段为create_time,然后根据该字段的时间,计算出当年每个月有多少条数据,上sql。感觉想法不错,将create_time格式化为只有月,然后再根据这个月进行分组,结合聚合函数直接就可以达到效果!

SELECT
 to_char ( a.create_time, 'MM' ) as dateMonth,
 COUNT(*) as num 
FROM
 t_disease a 
WHERE
 to_char ( a.create_time, 'YYYY' ) = to_char ( now( ), 'YYYY' ) 
 AND a.submit_time IS NOT NULL
group by  to_char ( a.create_time, 'MM' ) ORDER BY dateMonth

 

你可能感兴趣的:(时间分段取值)