mysql中生成时间维度表
来源:互联网 发布:证券行业 知乎 编辑:程序博客网 时间:2024/05/04 04:46
mysql中生成时间维度表
利用mysql常用日期函数生成时间维度表,效率最高,最简单,无需其他的一些工具支持。生成结果示例如下图:
# time spanSET @d0 = "2012-01-01";SET @d1 = "2012-12-31"; SET @date = date_sub(@d0, interval 1 day); # set up the time dimension tableDROP 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 datesINSERT INTO time_dimensionSELECT @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_nameFROM TWHERE date_add(@date, interval 1 day) <= @d1ORDER BY date;
神秘的表T,仅仅需要有多于你需要生成日期的记录数即可。思路是从T表选择多行数据,同时生成对应的日期字段。
1 0
- mysql中生成时间维度表
- mysql时间维度表。
- mysql中创建时间维度
- Cube中时间维度
- 数据仓库脚本生成时间维度
- db2通过游标生成时间维度表数据
- 抽取SQL Server数据库中时间维度表存储过程
- Oracle中创建时间维度表并插入数据
- mysql创建时间维度的sql脚本
- 时间维度表的建立
- 时间维度表的建立
- Oracle生成日期维度表
- 建立时间维度表的脚本
- 建时间维度表(oracle)
- 数据仓库的时间维度表 Sql
- 【SQL】sql 时间维度表相关
- DimDate OLAP中Date维度表结构的建议及表数据的生成
- MySQL 生成 时间轴
- poj 2251
- C# const 与 readonly 区别
- WEB开发中最致命的8个小错误
- 【wxlua教程一】搭建环境
- pat 1071
- mysql中生成时间维度表
- 抽象类
- 拓扑排序:hdu 1285 确定比赛名次
- 关于java对象的引用问题
- POJ 3009 Curling 2.0【深度优先搜索】
- android开发遇到的一个小问题
- Leetcode:Unique Paths
- 离散化
- 集合栈计算机(The SetStack Computer)