当前位置: 首页 > news >正文

【sql】按照数据的日期/天 ,对入库数据做数量分类

我今天写SQL,发现我的时间的写法是“年-月-日 时:分:秒 ”,

在这里插入图片描述

我想要按照“年-月-日”分类,看看我每一天的入库数据量是多少,然后做出一个报表出来。

sql对时间的处理:

SELECT DATE(update_time) AS date_only,COUNT(*) AS record_count
FROM table_name
GROUP BY DATE(update_time)
ORDER BY DATE(update_time);

其中,update_time是日期列,table_name 是表名

结果:
在这里插入图片描述
然后用python对数据,加入图表可视化:

简单粗暴版:

import pandas as pd
import matplotlib.pyplot as plt
from sqlalchemy import create_engine# 连接数据库并获取数据
engine = create_engine('mysql+pymysql://root:XXX@localhost:3306/test')
df = pd.read_sql("""
SELECT DATE(update_time) AS date_only,COUNT(*) AS record_count
FROM jd_upate_price
GROUP BY DATE(update_time)
ORDER BY DATE(update_time);
""", engine)# 生成柱形图
plt.figure(figsize=(12, 6))
df = df.dropna(subset=['date_only'])plt.bar(df['date_only'], df['record_count'], width=0.8)
plt.title('数据入库日期仪表')
plt.xlabel('日期')
plt.ylabel('数量')
plt.xticks(rotation=45)
plt.tight_layout()
plt.show()

不过效果长得一般:
在这里插入图片描述

中文字符会显示不出来,文字的横坐标和纵坐标的文字要用英文标注

长得有点丑,也可以用seaborn 来美化一下:

import seaborn as sns
ax = sns.barplot(x=df['date_only'], y=df['record_count'], color='skyblue') #可以给柱状图修改颜色

(替换上面的plt.bar(df['date_only'], df['record_count'], width=0.8))

emm,看得顺眼多了
在这里插入图片描述
不过日期全部挤在一起了,只想显示 日期的月和日的格式,稍微改一下:

import matplotlib.dates as mdates
ax = sns.barplot(x=df['date_only'], y=df['record_count'], color='skyblue')
# 设置日期格式
ax.xaxis.set_major_formatter(mdates.DateFormatter('%m-%d'))

效果:
在这里插入图片描述

http://www.xdnf.cn/news/440299.html

相关文章:

  • java加强 -File
  • MobiPDF:安卓设备上的专业PDF阅读与编辑工具
  • 【CustomPagination:基于Vue 3与Element Plus的高效二次封装分页器】
  • Spark的基础介绍
  • 性能比拼: Nginx vs. Envoy
  • AcroForm JavaScript Promise 对象应用示例: 异步加载PDF文件
  • YOLO v1:目标检测领域的革命性突破
  • 笔记本电脑打开网页很慢,一查ip地址网段不对怎么处理
  • DAX权威指南2:CALCULATE 与 CALCULATETABLE
  • Windows 环境下安装 Node 和 npm
  • 智能化双语LaTeX系统,分阶段系统性开发技术实现路径:目标是实现语义级编译和认知增强写作,推动跨文明知识表达
  • 【C++ / STL】封装红黑树实现map和set
  • 【LeetCode 热题 100】反转链表 / 回文链表 / 有序链表转换二叉搜索树 / LRU 缓存
  • 腾讯云-人脸核身+人脸识别教程
  • 榕壹云打车系统:基于Spring Boot+MySQL+UniApp的开源网约车解决方案
  • PCB设计实践(十七)PCB设计时11个维度分析双层板和四层板该如何抉择
  • python打卡day25
  • uniapp -- 验证码倒计时按钮组件
  • 数据安全与权限管控,如何实现双重保障?
  • 计算机网络:手机和基站之间是通过什么传递信息的?怎么保证的防衰减,抗干扰和私密安全的?
  • JT/T 808 通讯协议及数据格式解析
  • 【taro3 + vue3 + webpack4】在微信小程序中的请求封装及使用
  • 服务器被打了怎么应对
  • 微信小程序学习之搜索框
  • 查看当前 Python 环境及路径
  • hadoop中了解yarm
  • OpenCV进阶操作:人脸检测、微笑检测
  • OpenCV CUDA模块中逐元素操作------算术运算
  • 滑动窗口算法笔记
  • 【CSS】使用 CSS 绘制三角形