最近开发遇到一个需求,需要统计一段时间内每天的各种数据,发现某天没有的数据没法显示出来,所以这时候用一张日历表去联合查询即能获得每天的数据

创建日历表用到ADDDATE这个系统函数,这个函数会自动为给定的日期添加指定的时间间隔,

ADDDATE('2017-06-20',1) 会得出2017-06-21,利用这个功能,给指定的日期循环添加比如10000,即能得到指定日期后10000天的数据

CREATE TABLE num (i int);-- 创建一个表用来储存0-9的数字

INSERT INTO num (i) VALUES (0), (1), (2), (3), (4), (5), (6), (7), (8), (9);-- 生成0-9的数字,方便以后计算时间

INSERT INTO calendar(datelist) SELECT

-- 利用下面计算出0-100000的数字依次添加指定时间间隔,即得2017-06-21后100000天的日历表

ADDDATE(

( -- 这里的起始日期,你可以换成当前日期

DATE_FORMAT("2017-06-21", '%Y-%m-%d')

),

numlist.id

) AS `date`

FROM

(

-- 这边利用笛卡尔积计算出 0 - 100000 依次各个数据

SELECT

n1.i + n10.i * 10 + n100.i * 100 + n1000.i * 1000+ n10000.i * 10000 AS id

FROM

num n1

CROSS JOIN num AS n10

CROSS JOIN num AS n100

CROSS JOIN num AS n1000

CROSS JOIN num AS n10000

) AS numlist;

参考链接 http://blog.csdn.net/kenhins/article/details/52788358

顺便统计每天日期的写法

SELECT count(id) AS cid, DATE_FORMAT(create_time, '%Y-%m-%d') AS t FROM table GROUP BY t

mysql 日历表_mysql创建日历表相关推荐

  1. Java创建MySQL句柄_MySQL创建用户(CREATE USER)

    在对 MySQL 的日常管理和实际操作中,为了避免用户恶意冒名使用 root 账号控制数据库,通常需要创建一系列具备适当权限的账号,应该尽可能地不用或少用 root 账号登录系统,以此来确保数据的安全 ...

  2. mysql豹_MySQL创建数据库与创建用户以及授权 小帅豹

    1.create schema [数据库名称] default character set utf8 collate utf8_general_ci;--创建数据库 采用create schema和c ...

  3. linux新增mysql用户_MySQL创建用户的三种方法

    前言:MySQL创建用户的方法分成三种:INSERT USER表的方法.CREATE USER的方法.GRANT的方法. 一.账号名称的构成方式 账号的组成方式:用户名+主机(所以可以出现重复的用户名 ...

  4. mysql创建日历表,可以按日或按月增加数据

    统计一段时间内每天的各种数据,发现某天没有的数据没法显示出来,所以这时候用一张日历表去联合查询即能获得每天的数据 创建日历表用到ADDDATE这个系统函数,这个函数会自动为给定的日期添加指定的时间间隔 ...

  5. 使用SAS创建日历表

    在使用SAS进行数据分析时候经常需要对日期进行处理和调用,因为数据库的文件大部分都有yyyymmdd格式的日期后缀.借助日历表我们就可以更加灵活的对数据集进行调用. 下面我们使用SAS创建日历表cal ...

  6. vue在日历表上面创建事件_如何在R中创建颜色编码的日历

    vue在日历表上面创建事件 用颜色编码的日历可以快速简便地查看您是否实现了日常目标. 您是否符合销售或社交媒体帖子等日常业务指标? 或者,您如何实现个人目标,例如每天锻炼? 乍一看,您可以了解自己的工 ...

  7. 【PowerBI】各种常用度量值函数以及创建日历表

    近期在统计日活量和月活量,要求日活量和月活量为访问量去重的数据,且数据不会根据筛选器的开始日期而变动,另外还有计算月累计,季度累计,年累计等,下面为用到的些度量值及其函数 1.创建日历表 //根据lo ...

  8. mysql库可以无限创建吗_mysql 创建库

    常用的MySQL命令大全 一.连接MySQL 格式: mysql -h主机地址 -u用户名 -p用户密码 1.例1:连接到本机上的MYSQL. 首先在打开DOS窗口,然后进入目录 mysqlbin,再 ...

  9. linux创建mysql视图_MySQL视图基本操作

    1.准备工作 在MySQL数据库中创建两张表balance(余额表)和customer(客户表)并插入数据. create table customer( id int(10) primary key ...

  10. mysql 创建唯一索引_Mysql创建索引

    零:文章概要 这篇文章,主要是和大家一起去了解 索引,然后一起使用CREATE INDEX语法给数据库中的表创建一个索引. 一:先拿电话薄做个类比 假如,一个电话薄里面包含了一个城市的所有人的姓名和电 ...

最新文章

  1. raid卡组不同raid_乐扩IO-PCE9230-4IR阵列卡组阵列教程
  2. Linux中执行shell脚本的4种方法
  3. 20个非常有用的Java程序片段
  4. 使用递归的方式实现简易的二分法
  5. Java中对象的深克隆和浅克隆
  6. ROS入门笔记(五):ROS中运行rqt_plot的问题(kinetic)
  7. pip matplotlib 使用镜像源,pytorch 1.5 cpu
  8. mycat数据库中间件透明实现MYSQL读写分离
  9. 478.在圆内随机生成点
  10. 文件同步工具GoodSync简介
  11. txt转mobi格式
  12. ConnectionAbortedError: [WinError 10053] 你的主机中的软件中止了一个已建立的连接。
  13. Python也有对象了哈哈哈哈哈哈嗝
  14. ti最新版akamai的js分析与逆向------002小试牛刀
  15. ab压力测试结果-简要说明
  16. 2021-05-30_蓝桥杯嵌入式拓展板STM32G431--光敏电阻
  17. Tensorflow2数据集过大,GPU内存不够
  18. 美国知名科技博客简介
  19. 【淘宝SEO技巧】淘宝宝贝标题关键字优化
  20. 我的2013,它不平淡

热门文章

  1. 安装服务器系统驱动加载不成功,安装windows server系统提示“无法在此驱动器上安装windows”的解决办法...
  2. java在线ide_程序猿专用十大在线编译器(IDE)整理
  3. electron快捷键
  4. c++程序查重系统设计思路
  5. KVC中setValue:forKey:实现原理
  6. python输入三个整数_Python求解输入三个整数排序
  7. 以后睡觉还是关上手机吧!
  8. No code “EPSG:4326“ from authority “EPSG“
  9. 解决鼠标右键中没有新建选项
  10. 第七章 Scala基础——类继承