常用时间函数

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图表数据统计常用方法相关推荐

  1. php mysql 地图 矩形_PHP+Mysql+jQuery中国地图区域数据统计实例讲解

    今天我要给大家介绍在实际应用中,如何把数据载入到地图中.本文结合实例,使用PHP+Mysql+jQuery实现中国地图各省份数据统计效果. 本例以统计某产品在各省份的活跃用户数为背景,数据来源于mys ...

  2. SpringBoot+LayUI+MybatisPlus+Echarts图表 前后端分离 实现数据统计功能

    前言: 小伙伴们,大家好,我是狂奔の蜗牛rz,当然你们可以叫我蜗牛君,我是一个学习Java快一年时间的小菜鸟,同时还有一个伟大的梦想,那就是有朝一日,成为一个优秀的Java架构师. 首先给各位粉丝朋友 ...

  3. 移动开发必知必会的六大数据统计平台(入门篇)

    数据统计对于各位移动开发的童鞋并不陌生,小到Bug统计,大到数据分析,一款性能稳定.用户体验良好的APP一定离不开数据统计的支持,为此我将给大家科普一下常用的六大数据统计平台. 先说说国内的三家,从友 ...

  4. 移动数据统计平台分析

    数据统计对于各位移动开发的童鞋并不陌生,小到Bug统计,大到数据分析,一款性能稳定.用户体验良好的APP一定离不开数据统计的支持,为此我将给大家科普一下常用的六大数据统计平台. 统计平台列表表,外加体 ...

  5. php mysql echarts动态生成图表

    php mysql echarts动态生成图表,数据库和表格使用的java Servlet echarts 图表生成的一样数据,不知道的看我前面一篇博文:需要两个文件完成 1. 数据获取文件 week ...

  6. mysql 统计_mysql数据统计级别技巧

    本文提及技巧只适用数据统计,OLAP场景,不建议用于业务sql.   分组top问题 知识点:巧用局部变量,实现Hive窗口分析函数功能row_number() over(partition by e ...

  7. mysql 优化300例_PHP+MySQL实现对一段时间内每天数据统计优化操作实例

    本文实例讲述了PHP+MySQL实现对一段时间内每天数据统计优化操作.分享给大家供大家参考,具体如下: 在互联网项目中,对项目的数据分析必不可少.通常会统计某一段时间内每天数据总计变化趋势调整营销策略 ...

  8. mysql 查询每人每天_PHP+MySQL实现对一段时间内每天数据统计优化操作实例

    本文实例讲述了PHP+MySQL实现对一段时间内每天数据统计优化操作.分享给大家供大家参考,具体如下: 在互联网项目中,对项目的数据分析必不可少.通常会统计某一段时间内每天数据总计变化趋势调整营销策略 ...

  9. mysql 定时统计_PHP+MySQL定时数据统计优化

    这次给大家带来PHP+MySQL定时数据统计优化,PHP+MySQL定时数据统计优化的注意事项有哪些,下面就是实战案例,一起来看一下. 在互联网项目中,对项目的数据分析必不可少.通常会统计某一段时间内 ...

最新文章

  1. IDA Pro 数据库文件、函数窗口、结构体窗口
  2. SpringBoot(一)——快速入门
  3. 模型服务:流处理与使用Java,gRPC,Apache Kafka,TensorFlow的RPC / REST
  4. springboot+jpa+mysql+redis+swagger整合步骤
  5. 研究人员用数据统计的方法来做文学研究
  6. 中小企业上云首选,华为云全新云服务器S6性能评测分析
  7. python和java选择哪个-Java、Python你会选择哪个?老男孩python
  8. java学习笔记(3.31)
  9. python获取日期的年月日_python datetime和time的一些疑惑解答 及 获取上年同期、上月等日期...
  10. Chrome浏览器直接下载pdf文件的设置步骤
  11. 《VP9 Levels and Decoder Testing》笔记
  12. matlab GUI学习笔记4 如何添加并设置下拉菜单以及GUI解决不用直接用load的问题
  13. 达叔的游戏框架(二) 得到其他模块的方式
  14. 软工网络15团队作业4——Alpha阶段敏捷冲刺之Scrum 冲刺博客(Day7)
  15. python培训总结报告
  16. Js Switch语句
  17. 损坏Word文档的几种修复方法
  18. Python数据分析 第一章 数据分析的概述
  19. Java——反射机制(下)
  20. 哪项操作可以用来关闭linux防火墙,linux防火墙怎么关

热门文章

  1. ntpd服务,ntpdate时间同步
  2. JAVA项目中实现邮箱验证的方法
  3. matlab 读取 通达信,Matlab 自动导入通达信板块文件
  4. 推荐本书《博赞学习技巧》
  5. 【大一立项】如何亲手搭建ROS小车:硬件和软件介绍
  6. 图片提取文字怎么做?两种途径可以一试
  7. AI/机器学习,深度学习,神经网络
  8. Eviews软件中不显示且不能输入数据
  9. MacBook苹果电脑绕过BootCamp安装Win10双系统
  10. (转载)周鸿祎在360新员工入职培训上的讲话