http://blog.csdn.net/wisgood/article/details/26018613
DROP TABLE IF EXISTS numbers_small;
CREATE TABLE numbers_small (number INT);
INSERT INTO numbers_small VALUES (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
DROP TABLE IF EXISTS numbers;
CREATE TABLE numbers (number BIGINT);
INSERT INTO numbers
SELECT thousands.number * 1000 + hundreds.number * 100 + tens.number * 10 + ones.number
FROM numbers_small thousands, numbers_small hundreds, numbers_small tens, numbers_small ones
LIMIT 1000000;
DROP TABLE IF EXISTS Dates_D;
CREATE TABLE Dates_D (
date_id BIGINT PRIMARY KEY,
date DATE NOT NULL,
day CHAR(10),
day_of_week INT,
day_of_month INT,
day_of_year INT,
previous_day date NOT NULL default '0000-00-00',
next_day date NOT NULL default '0000-00-00',
weekend CHAR(10) NOT NULL DEFAULT "Weekday",
week_of_year CHAR(2),
month CHAR(10),
month_of_year CHAR(2),
quarter_of_year INT,
year INT,
UNIQUE KEY `date` (`date`));
INSERT INTO Dates_D (date_id, date)
SELECT number, DATE_ADD( '2010-01-01', INTERVAL number DAY )
FROM numbers
WHERE DATE_ADD( '2010-01-01', INTERVAL number DAY ) BETWEEN '2010-01-01' AND '2010-12-31'
ORDER BY number;
Change year start and end to match your needs. The above sql creates records for year 2010.
UPDATE Dates_D SET
day = DATE_FORMAT( date, "%W" ),
day_of_week = DAYOFWEEK(date),
day_of_month = DATE_FORMAT( date, "%d" ),
day_of_year = DATE_FORMAT( date, "%j" ),
previous_day = DATE_ADD(date, INTERVAL -1 DAY),
next_day = DATE_ADD(date, INTERVAL 1 DAY),
weekend = IF( DATE_FORMAT( date, "%W" ) IN ('Saturday','Sunday'), 'Weekend', 'Weekday'),
week_of_year = DATE_FORMAT( date, "%V" ),
month = DATE_FORMAT( date, "%M"),
month_of_year = DATE_FORMAT( date, "%m"),
quarter_of_year = QUARTER(date),
year = DATE_FORMAT( date, "%Y" );
相关推荐
数据仓库是一种特殊设计的数据库系统,用于支持企业的决策分析过程,它主要关注...通过这三个文件,我们可以学习到如何在SQL Server、Oracle和MySQL中创建和维护日期维度表,进一步提升我们在数据仓库领域的专业能力。
使用存储过程来创建时间维度表有以下优点: - **性能优化**:预编译的代码执行速度更快。 - **代码重用**:一次编写,多次调用。 - **安全性**:可以通过权限控制限制对敏感数据的访问。 - **封装复杂逻辑**:将...
1. **创建一个包含过去7天日期的临时表**:类似于创建24小时的时间表,我们可以创建一个包含过去7天日期的临时表。 2. **统计每天的任务创建数量**:从任务表中统计过去7天每天的任务创建数量。 3. **执行左连接...
1. **创建数据库**:首先,在MySQL中创建一个新的数据库,例如命名为“foodmart”。 2. **运行脚本**:使用MySQL客户端工具(如MySQL Workbench或命令行),执行“foodmart-mysql”中的SQL文件。这些文件将创建数据...
2. **定义维度表**: 维度表描述了观察事实的角度,例如时间维度、地理位置维度等。PowerDesigner提供了便捷的工具来设计这些表,并支持层次结构的建立。 3. **关系连接**: 在PowerDesigner中,可以轻松地定义事实表...
FoodMart数据集是一个模拟的超市销售数据,涵盖了商品、销售、时间等多个维度,为用户提供了丰富的分析素材。通过运行这个SQL脚本,我们可以将FoodMart数据仓库导入到MySQL数据库中,为后续的分析工作提供数据基础。...
在性能调优方面,MySQL的优化策略主要涉及以下几个维度: 1. **SQL及索引优化**:优化SQL查询语句是提升性能的核心。这可以通过创建合适的索引、避免函数操作符在WHERE子句中、减少子查询等方式实现。开启慢查询...
* 创建时间:2021-6-21 * 采用JavaSwing、JavaFX设计UI界面,结合MySQL数据库进行增删改查操作,功能较为完善 * 包含数据库文件、ER图、数据库表的设计、系统功能图、逻辑设计(流程图) * 源文章及其效果见: ...
为了创建和使用这个老黄历数据库,你需要使用SQL(结构化查询语言),通过`lunar.sql`文件导入数据到MySQL数据库。导入过程可能涉及到创建表结构、设置字段类型、加载数据等步骤。一旦数据导入成功,你可以通过SQL...
1. 学生信息录入:管理员可以通过系统界面输入新生的信息,包括个人基本信息和学业成绩,这些数据会被保存到MySQL数据库中。 2. 学生信息查询:系统提供多种查询方式,如按学号、姓名或班级查找学生,结果以列表或...
综上所述,这份学习笔记详细地覆盖了MySQL运维的各个方面,从基础概念、数据类型、数据库操作、安全加固、实例管理、日志管理等多个维度,为学习者提供了全面的参考资料。对于想要深入学习MySQL的运维人员来说,这份...
【淘宝分类数据MySQL】指的是淘宝平台的商品分类信息存储在MySQL数据库中的数据集合。这个压缩包文件`taobao20190803003338.sql`很可能包含了2019年8月3日某个时间点的淘宝商品分类数据库的SQL脚本或者数据备份。...
总结来说,MySQL提供了丰富的函数和操作来处理时间轴数据,包括获取同一天的特定数量记录和自动生成时间维度表。这些功能在数据处理和分析中扮演着重要角色,使得对时间序列数据的操作更加灵活高效。
《食品市场数据库在MySQL中的应用——以Mondrian的FoodMart示例为例》 在信息技术领域,数据分析和商业智能(BI)是至关重要的部分。Mondrian是一个开源的多维在线分析处理(OLAP)服务器,它允许用户通过查询多维...
- **创建时间维度**:在向导中选择“新建维度”并指定“时间”作为维度名称。 - **配置时间维度属性**:定义层级结构,如年、季度、月等;设置日期格式和其他相关属性。 **3.4 如何建立产品维度** - **创建产品维度...
在2013年的MySQL性能直播分享中,Dimitri Kravtchuk作为MySQL性能架构师,围绕MySQL 5.6版本的性能基准测试、调优实践以及最佳策略进行了深入探讨。以下是根据提供的信息整理出的关键知识点。 #### MySQL性能优化的...
3. **加载**(Load):将处理后的数据加载到数据仓库中,通常分为两种方式:批量加载(在特定时间点一次性导入大量数据)和实时/近实时加载(如CDC,变更数据捕获)。 "scripts"文件可能包含SQL脚本,用于创建数据...
- **分表**:水平拆分(按时间或其他维度分表)和垂直拆分(将表字段按业务需求划分)。 - **分离活跃数据**:热点数据放入活跃表,优先查询,未命中再查询全量数据。 - **分块**:数据分块策略,通过预计算定位...
### 在MySQL数据库中构建日历表 ...这样的日历表不仅方便了时间维度的查询和分析,而且通过自动化填充机制大大提高了效率。在实际应用中,这样的设计可以广泛应用于报表系统、数据分析平台等多种场景。
在MySQL中,我们可以创建这样的表: ```sql CREATE TABLE rankings ( id INT AUTO_INCREMENT PRIMARY KEY, user_id INT NOT NULL, score INT NOT NULL, type ENUM('日', '周', '月', '总') NOT NULL, ...