mysql front 图表,MySQL图表数据统计常用方法
常用时间函数
NOW()当前时间、CURDATE()当前日期、CURTIME()当前时间
SELECT NOW(),CURDATE(),CURTIME();
>2019-03-22 10:20:13
>2019-03-22
>10:20:13
ROUND() 四舍五入
FROM_UNIXTIME() 将时间戳格式化(10位时间戳,精确到秒)
若数据库存的时间戳为13位(精确到毫秒),因MySQL只能转10位,则进行转换
SELECT FROM_UNIXTIME(ROUND(1552665572000/1000));
>2019-03-15 23:59:32
DATE_FORMAT() 格式化时间
SELECT DATE_FORMAT(NOW(),'%Y-%m-%d %H:%i:%s');
>2019-03-22 09:58:50
DATE_SUB() 日期减去指定的时间间隔 (DATE_ADD()同理)
DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= date(时间字段名) 近7天
type常用参数:DAY、MONTH、YEAR、HOUR
常用判空函数
IFNULL(fieldA,fieldB)
当字段fieldA是NULL时取fieldB,不是NULL时取fieldA的值
COALESCE (exp,value1,value2……,valuen)
exp为待检测的表达式,返回包括exp在内的所有参数中的第一个非空表达式
SELECT IFNULL(b.count,0),COALESCE(c.sum,0) FROM ...
常用与于统计总数时对null值赋0的作用
MySQL常见JOIN语法
SELECT ... FROM table1 xxx JOIN table2 ON ...
INNER JOIN(内连接):取得两个表中存在连接匹配关系的记录。
inner join.png
LEFT JOIN(左连接):取得左表(table1)完全记录,即是右表(table2)并无对应匹配记录。
left join.png
RIGHT JOIN(右连接):与 LEFT JOIN 相反,取得右表(table2)完全记录,即是左表(table1)并无匹配对应记录。
right join.png
注:MySQL不支持FULL JOIN,不过可以通过UNION 关键字来合并 LEFT JOIN 与 RIGHT JOIN来模拟FULL JOIN
UNION
SELECT ... FROM ... UNION SELECT ... FROM ...
对结果集取并集操作,不包括重复行,同时进行默认规则的排序
去重且排序
UNION ALL
SELECT FROM ... UNION ALL SELECT ... FROM ...
对结果集取并集操作,包括重复行,不进行排序
不去重不排序
折线图统计一段时间没有数据补0的情况
构建一个虚拟的最近日期记录,如:
统计最近三天
SELECT CURDATE() AS time
UNION ALL
SELECT DATE_SUB(CURDATE(), interval 1 DAY) AS time
UNION ALL
SELECT DATE_SUB(CURDATE(), interval 2 DAY) AS time
统计最近三月
SELECT DATE_FORMAT(CURDATE(), '%Y-%m') AS time
UNION ALL
SELECT DATE_FORMAT(DATE_SUB(CURDATE(), interval 1 MONTH), '%Y-%m') AS time
UNION ALL
SELECT DATE_FORMAT(DATE_SUB(CURDATE(), interval 2 MONTH), '%Y-%m') AS time
统计最近三小时
SELECT DATE_FORMAT(NOW(), '%m-%d %H') as time
UNION ALL
SELECT DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 1 HOUR), '%m-%d %H') AS time
UNION ALL
SELECT DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 2 HOUR), '%m-%d %H') AS time
或利用mysql自带数据库生成数据,如生成最近7天日期列表
SELECT @s :=@s + 1 as `index`, DATE(DATE_SUB(CURRENT_DATE, INTERVAL @s DAY)) AS `date`
FROM mysql.help_topic,(SELECT @s := -1) temp
WHERE @s < 6
ORDER BY `date` DESC
最后将以上数据与业务数据取左连接LEFT JOIN即可。
mysql front 图表,MySQL图表数据统计常用方法相关推荐
- php mysql 地图 矩形_PHP+Mysql+jQuery中国地图区域数据统计实例讲解
今天我要给大家介绍在实际应用中,如何把数据载入到地图中.本文结合实例,使用PHP+Mysql+jQuery实现中国地图各省份数据统计效果. 本例以统计某产品在各省份的活跃用户数为背景,数据来源于mys ...
- SpringBoot+LayUI+MybatisPlus+Echarts图表 前后端分离 实现数据统计功能
前言: 小伙伴们,大家好,我是狂奔の蜗牛rz,当然你们可以叫我蜗牛君,我是一个学习Java快一年时间的小菜鸟,同时还有一个伟大的梦想,那就是有朝一日,成为一个优秀的Java架构师. 首先给各位粉丝朋友 ...
- 移动开发必知必会的六大数据统计平台(入门篇)
数据统计对于各位移动开发的童鞋并不陌生,小到Bug统计,大到数据分析,一款性能稳定.用户体验良好的APP一定离不开数据统计的支持,为此我将给大家科普一下常用的六大数据统计平台. 先说说国内的三家,从友 ...
- 移动数据统计平台分析
数据统计对于各位移动开发的童鞋并不陌生,小到Bug统计,大到数据分析,一款性能稳定.用户体验良好的APP一定离不开数据统计的支持,为此我将给大家科普一下常用的六大数据统计平台. 统计平台列表表,外加体 ...
- php mysql echarts动态生成图表
php mysql echarts动态生成图表,数据库和表格使用的java Servlet echarts 图表生成的一样数据,不知道的看我前面一篇博文:需要两个文件完成 1. 数据获取文件 week ...
- mysql 统计_mysql数据统计级别技巧
本文提及技巧只适用数据统计,OLAP场景,不建议用于业务sql. 分组top问题 知识点:巧用局部变量,实现Hive窗口分析函数功能row_number() over(partition by e ...
- mysql 优化300例_PHP+MySQL实现对一段时间内每天数据统计优化操作实例
本文实例讲述了PHP+MySQL实现对一段时间内每天数据统计优化操作.分享给大家供大家参考,具体如下: 在互联网项目中,对项目的数据分析必不可少.通常会统计某一段时间内每天数据总计变化趋势调整营销策略 ...
- mysql 查询每人每天_PHP+MySQL实现对一段时间内每天数据统计优化操作实例
本文实例讲述了PHP+MySQL实现对一段时间内每天数据统计优化操作.分享给大家供大家参考,具体如下: 在互联网项目中,对项目的数据分析必不可少.通常会统计某一段时间内每天数据总计变化趋势调整营销策略 ...
- mysql 定时统计_PHP+MySQL定时数据统计优化
这次给大家带来PHP+MySQL定时数据统计优化,PHP+MySQL定时数据统计优化的注意事项有哪些,下面就是实战案例,一起来看一下. 在互联网项目中,对项目的数据分析必不可少.通常会统计某一段时间内 ...
最新文章
- IDA Pro 数据库文件、函数窗口、结构体窗口
- SpringBoot(一)——快速入门
- 模型服务:流处理与使用Java,gRPC,Apache Kafka,TensorFlow的RPC / REST
- springboot+jpa+mysql+redis+swagger整合步骤
- 研究人员用数据统计的方法来做文学研究
- 中小企业上云首选,华为云全新云服务器S6性能评测分析
- python和java选择哪个-Java、Python你会选择哪个?老男孩python
- java学习笔记(3.31)
- python获取日期的年月日_python datetime和time的一些疑惑解答 及 获取上年同期、上月等日期...
- Chrome浏览器直接下载pdf文件的设置步骤
- 《VP9 Levels and Decoder Testing》笔记
- matlab GUI学习笔记4 如何添加并设置下拉菜单以及GUI解决不用直接用load的问题
- 达叔的游戏框架(二) 得到其他模块的方式
- 软工网络15团队作业4——Alpha阶段敏捷冲刺之Scrum 冲刺博客(Day7)
- python培训总结报告
- Js Switch语句
- 损坏Word文档的几种修复方法
- Python数据分析 第一章 数据分析的概述
- Java——反射机制(下)
- 哪项操作可以用来关闭linux防火墙,linux防火墙怎么关