SQL查折线图数据
在做后台管理系统的时候,有很大概率是要与各种图表数据打交道,
那么如何通过SQL查出基本图表的数据呢,以折线图为例,
X轴为日期,Y轴为统计数据,那么我们通过SQL如何查询出连续日期下的统计数据呢,
假设我们数据库有一张表为 A,A表有createdAt,count字段,count表示数量,createdAt表示生成数据的日期,
A表中可能存了多条相同日期但是不同数量的数据,比如:
| createdAt | count |
| 2024-04-01 | 1 |
| 2024-04-01 | 12 |
| 2024-04-02 | 1 |
那么我想查询从4月1到4月7的统计数据,并保证日期连续性,2024-04-01 2024-04-02 ... 2024-04-07,这里用PostgreSQL 来实现
WITH date_sequence AS (
SELECT start_date + sequence_num AS continuous_date
FROM (SELECT '2024-04-01'::date AS start_date, generate_series(0, 9) AS sequence_num) AS dates
)
SELECT continuous_date,COALESCE(SUM(count),0) AS count
FROM date_sequence
LEFT JOIN (SELECT id, TO_CHAR("createdAt", 'YYYY-MM-DD')::date AS date1 FROM "A") AS subquery
ON date_sequence.continuous_date = subquery.date1
GROUP BY continuous_date
ORDER BY continuous_date ASC
解释:
generate_series 用于生成一个数字列,在PostgreSQL中,对日期数据进行运算操作,会使日期进行对应的变更,如:
然后用WITH 将这个日期列封装一下,然后再去LEFT JOIN查A表,用日期进行关联,因为A表中会有重复的,所以我们用“日期”字段进行GROUP BY ,再通过SELECT SUM("count")字段,就能查出日期列对应的数据了,然后再用 COALESCE 函数将为null的数据填充为0就好了
最后查出的数据就是这样子的:
SQL查折线图数据的更多相关文章
- 解决echarts的叠堆折线图数据出现坐标和值对不上的问题
原文:https://blog.csdn.net/qq_36538012/article/details/88889545 ------------------------------- 说一个小bu ...
- echarts折线图--数据交互
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- Echarts使用及动态加载图表数据 折线图X轴数据动态加载
Echarts简介 echarts,缩写来自Enterprise Charts,商业级数据图表,一个纯JavaScript的图表库,来自百度...我想应该够简洁了 使用Echarts 目前,就官网的文 ...
- java代码实现highchart与数据库数据结合完整案例分析(二)---折线图
作者原创:未经博主允许不许转载 在上一篇的博客中,展示和分析了如何做一个饼状图,有疑问可以参考上一篇博客. 现在分析和展示折线图的绘制和案例分析, 先展示效果图: 与饼状图不同的是,折线图展现更多的数 ...
- JFreeChart 图表生成实例(饼图、柱状图、折线图、时序图)
import java.awt.BasicStroke; import java.awt.Color; import java.io.FileOutputStream; import java.io. ...
- MVC折线图应用
后台 获取值并转换成json数据存到实体里面,然后前台输出 HighchartsModels model = new HighchartsModels(); model.DataDicJson = J ...
- 【带着canvas去流浪】(2)绘制折线图
目录 一. 任务说明 二. 重点提示 三. 示例代码 3.1 一般折线图 3.2 用贝塞尔曲线绘制平滑折线图 四. 大数据量场景 示例代码托管在:https://github.com/dashnowo ...
- Echarts动态加载柱状图和折线图混合展示的实例
一.引入echarts文件: <script type="text/javascript" src="echarts.js"></script ...
- PHP使用JpGraph绘制折线图
PHP使用JpGraph绘制折线图 下载jpgraph类库,使用的是src目录下的类文件. require_once './src/jpgraph.php'; require_once './src/ ...
- 带着canvas去流浪系列之二 绘制折线图
[摘要] 用canvasAPI实现echarts简易图表 示例代码托管在:http://www.github.com/dashnowords/blogs 一. 任务说明 使用原生canvasAPI绘制 ...
随机推荐
- yb课堂 谷歌开源缓存框架Guava cache,封装API 《二十》
Guava cache github地址:点我直达 全内存的本地缓存实现 高性能且功能丰富 线程安全,操作简单 添加依赖 <dependency> <groupId>com.g ...
- Oracle plsql中文字段乱码,where条件中文字段搜不到结果集
设置系统环境变量 变量名:NLS_LANG 变量值:AMERICAN_AMERICA.ZHS16GBK
- boltdb一瞥
boltdb 网上关于boltdb的文章有很多,特别是微信公众号上,例如: boltdb源码分析系列-事务-腾讯云开发者社区-腾讯云 (tencent.com) 这些文章都写的挺好,但不一定覆盖了我所 ...
- 结构体_C
// Code file created by C Code Develop #include "ccd.h" #include "stdio.h" #incl ...
- Python 实时获取任务请求对应的Nginx日志
需求描述 项目需求测试过程中,需要向Nginx服务器发送一些用例请求,然后查看对应的Nginx日志,判断是否存在特征内容,来判断任务是否执行成功.为了提升效率,需要将这一过程实现自动化. 实践环境 P ...
- 那些血淋淋的教训——math
1. 方程的解要写 x= 2023.12.10 晚上周测填空题第 \(2\) 题,方程的解写成了 \(7\) 而不是 \(x=7\). 2. 分类讨论 选填的最后一题. 3. 去绝对值看清楚符号(某个 ...
- whk随记
金刚烷,实际上是p4把磷换成碳,然后在每两个碳之间再加一个碳,氢再补齐,由于碳都是sp3杂化,所以画出来并不对称,但实际上是对称的,一氯代物只有两种,像p4o6一样,而p4o10实际上是每个磷外面再连 ...
- idea2020修改help的vm options之后导致idea打不开的问题
如图所示,如果你修改了VM参数,导致启动没反应,证明你的参数配置有误. 这个时候你可能会想着直接修改idea安装目录bin中的配置文件,但是这个文件并不是你在idea中修改的配置文件,所以你修改这里的 ...
- 【SpringMVC】11 拦截器
拦截器是AOP具体的应用 只能使用SpringMVC自己的组件有效 之拦截访问控制器方法的请求, 如果访问的是jsp.html.css.img.js这一类的静态资源,则不会拦截 演示: 编写一个拦截器 ...
- pytorch-a2c-ppo-acktr-gail 算法代码
地址: https://github.com/ikostrikov/pytorch-a2c-ppo-acktr-gail