mysql中生成时间维度表

利用mysql常用日期函数生成时间维度表,效率最高,最简单,无需其他的一些工具支持。生成结果示例如下图:

# time span

SET @d0 = "2012-01-01";

SET @d1 = "2012-12-31";

SET @date = date_sub(@d0, interval 1 day);

# set up the time dimension table

DROP TABLE IF EXISTS time_dimension;

CREATE TABLE `time_dimension` (

`date` date DEFAULT NULL,

`id` int NOT NULL,

`y` smallint DEFAULT NULL,

`m` smallint DEFAULT NULL,

`d` smallint DEFAULT NULL,

`yw` smallint DEFAULT NULL,

`w` smallint DEFAULT NULL,

`q` smallint DEFAULT NULL,

`wd` smallint DEFAULT NULL,

`m_name` char(10) DEFAULT NULL,

`wd_name` char(10) DEFAULT NULL,

PRIMARY KEY (`id`)

);

# populate the table with dates

INSERT INTO time_dimension

SELECT @date := date_add(@date, interval 1 day) as date,

# integer ID that allowsimmediate understanding

date_format(@date, "%Y%m%d")as id,

year(@date) as y,

month(@date) as m,

day(@date) as d,

date_format(@date, "%x")as yw,

week(@date, 3) as w,

quarter(@date) as q,

weekday(@date)+1 as wd,

monthname(@date) as m_name,

dayname(@date) as wd_name

FROM T

WHERE date_add(@date, interval 1 day) <= @d1

ORDER BY date

;

神秘的表T,仅仅需要有多于你需要生成日期的记录数即可。思路是从T表选择多行数据,同时生成对应的日期字段。

mysql日期纬度表_mysql中生成时间维度表相关推荐

  1. kettle时间维度_MySQL快速生成时间维度表

    MySQL快速生成时间维度表: MySQL里面生成一张时间维度表,用于ETL工具使用.

  2. mysql日期格式化季度_mysql中常用日期比较与计算函数

    MySql中时间比较的实现 unix_timestamp() unix_timestamp 函数可以接受一个参数,也可以不使用参数. 它的返回值是一个无符号的整数.不使用参数,它返回自1970年1月1 ...

  3. 阿里云mysql不让锁表_MySQL中InnoDB锁不住表的原因

    MySQL中InnoDB锁不住表是因为如下两个参数的设置: mysql> show variables like '%timeout%'; +-------------------------- ...

  4. mysql 并发 锁表_MySQL中的锁(表锁、行锁) 并发控制锁

    https://github.com/MrLining/mysql/wiki/MySQL%E4%B8%AD%E7%9A%84%E9%94%81%EF%BC%88%E8%A1%A8%E9%94%81%E ...

  5. mysql日期格式化比较_MYSQL DATE_FORMAT() 函数时间大小比较

    DATE_FORMAT() 函数用于以不同的格式显示日期/时间数据. Sql代码   DATE_FORMAT(date,format) 可以使用的格式有: 格式 描述 %a 缩写星期名 %b 缩写月名 ...

  6. 时间维度表的生成和具体的使用场景

    前言: 今天和小伙伴们分享下时间维度表的应用,先说个简单的业务场景,有一张记录的用户注册信息,然后想在后台管理系统中开发一个可以看到每天注册用户数量的图表统计功能,那么你会怎么处理呢? 正文: 一.模 ...

  7. 【电商数仓】数仓搭建之DIM维度层(商品、优惠券、活动、地区、时间维度表)

    文章目录 零 DIM层最终建模结果 一 商品维度表(全量) 1 商品维度表 2 建模过程分析 3 建表语句 4 装载数据 (1)逐步分析 (2)完整装载sql 二 优惠券维度表(全量) 1 建表语句 ...

  8. mysql获取当月最后一天_mysql中获取本月第一天、本月最后一天、上月第一天、上月最后一天

    mysql获取当月最后一天_mysql中获取本月第一天.本月最后一天.上月第一天.上月最后一天等等 转自: https://blog.csdn.net/min996358312/article/det ...

  9. mysql数据库更新表_Mysql数据库(四)表记录的更新操作

    一.插入表记录 1.使用INSERT...VALUES语句插入新纪录 (1)插入完整数据 mysql> desc tb_manager; +-------+------------------+ ...

最新文章

  1. DIY混合BCI刺激系统:SSVEP-P300 LED刺激
  2. 如何用python的i2c教程_使用Raspberry pi3(Python)的I2C用法
  3. Java Web项目--使用JSP生成一个页面
  4. CentOS 初体验十:文件权限查看和修改
  5. [BZOJ]1095 Hide捉迷藏(ZJOI2007)
  6. D. Cut and Stick(Codeforces Round #716 (Div. 2))
  7. java什么叫元素_什么是Java做什么 - 每个元素使它们成为对象类型?
  8. pythonrandom库seed_Python
  9. [翻译] AFDropdownNotification
  10. 【springboot】application.yml配置文件中数据库密码password加密后显示
  11. (日常搬砖)windows 11 安装cython_bbox时,遇到问题‘error: Microsoft Visual C++ 14.0 or greater is required. ’解决方案
  12. 【leetcode 简单】第三十八题 两数之和 II - 输入有序数组
  13. JavaSE基础——异常、File文件类
  14. Optional Interview with Benny the Irish Polyglot abo---coursera课程Learn how to learn
  15. o2o模式的特点是什么 O2O商业模式与新零售有什么区别?
  16. debian 7 网络安装后无法联接wifi
  17. 学期计算机教学工作反思,小学信息技术老师一月工作反思总结教育教学笔记
  18. 计算机网络跟Internet的区别和联系,互联网和因特网的区别与联系
  19. 专家建议加速2G3G退网、5G取代4G,你感受到网速快了吗?
  20. R3 2200G搭配显卡推荐

热门文章

  1. 深入理解C# 3.x的新特性(2):Extension Method[下篇]
  2. %dn在c语言中是什么意思,请问C语言中 char far 是什么意思?
  3. 基于mycat的mysql_基于mycat实现mysql的读写分离
  4. python模块导入_Python模块及其导入
  5. python hstack_Python小白数据科学教程:NumPy (下)
  6. PyTorch框架学习十四——学习率调整策略
  7. Python利用turtle绘制五角星
  8. 简明Python教程学习笔记_8_异常
  9. axis2 webservice入门学识(JS,Java,PHP调用实例源码)
  10. vue 前端商城框架_前端工程师要掌握几个Vue框架