• ADADADADAD

    Mysql时间轴数据 获取同一天数据的前三条[ mysql数据库 ]

    mysql数据库 时间:2024-11-29 10:11:24

    作者:文/会员上传

    简介:

    创建表数据CREATE TABLE `praise_info` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID', `pic_id` varchar(64) DEFAULT NULL COMMENT '图片ID', `created_time`

    以下为本文的正文内容,内容仅供参考!本站为公益性网站,复制本文以及下载DOC文档全部免费。

    创建表数据

    CREATE TABLE `praise_info` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID', `pic_id` varchar(64) DEFAULT NULL COMMENT '图片ID', `created_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',PRIMARY KEY (`id`), KEY `pic_id` (`pic_id`) USING BTREE) ENGINE=InnoDB AUTO_INCREMENT=3647 DEFAULT CHARSET=utf8 COMMENT='图片表';

      添加数据省略

      时间轴前2条数据

    SELECT * FROM(SELECT *, @num := if(@created_time = DATE_FORMAT(created_time, '%Y-%m-%d'), @num := @num + 1, 1) as row_num,@created_time := DATE_FORMAT(created_time, '%Y-%m-%d') as axisTime FROM praise_infoorder by id desc) AS tempWHERE row_num < 3;

    ps:下面看下MySQL 生成 时间轴

    DROP PROCEDURE IF EXISTS pro_dim_date;tudou@GyyxCREATE PROCEDURE pro_dim_date(IN bdate DATE,IN edate DATE)BEGINDECLARE var DATE DEFAULT bdate;DECLARE evar DATE DEFAULT DATE_ADD(edate,INTERVAL 1 DAY);DECLARE bweek DATE;DECLARE eweek DATE;WHILE var<evar DOSET bweek = DATE_ADD(DATE_SUB(var,INTERVAL 1 WEEK),INTERVAL 1 DAY);SET eweek = DATE_SUB(DATE_ADD(var,INTERVAL 1 WEEK),INTERVAL 1 DAY);INSERT INTO gyyx_report.dim_date(`date_id`,`date_name`,`date_of_month`,`year_id`,`year_name`,`quarter_id`,`quarter_name`,`month_id`,`month_name`,`month_of_year_name`,`month_of_year_id`,`week_id`,`week_name`,`week_of_year_id`,`week_of_year_name`,`is_weekend`)VALUES(DATE_FORMAT(var,'%Y%m%d'),DATE_FORMAT(var,'%Y-%m-%d'),DAYOFMONTH(var),YEAR(var),CONCAT(YEAR(var),'年'),QUARTER(var),CONCAT(QUARTER(var),'季度'),DATE_FORMAT(var,'%Y%m'),CONCAT(YEAR(var),'年',MONTH(var),'月'),CONCAT(MONTH(var),'月'),MONTH(var),WEEKDAY(var),CASE WEEKDAY(var) WHEN 0 THEN '星期一' WHEN 1 THEN '星期二' WHEN 2 THEN '星期三' WHEN 3 THEN '星期四' WHEN 4 THEN '星期五' WHEN 5 THEN '星期六' WHEN 6 THEN '星期日' END,WEEKOFYEAR(var),CONCAT('第',WEEKOFYEAR(var),'周(',MONTH(bweek),'月',DAY(bweek),'日~',MONTH(eweek),'月',DAY(eweek),'日'),CASE WHEN WEEKDAY(var)>4 THEN '是' ELSE '否' END);SET var=DATE_ADD(var,INTERVAL 1 DAY);END WHILE;END

    调用:

    CALL pro_dim_date('2005-01-01','2013-12-31')

    结果:

    201312172013-12-17 17 20132013年44季度 201312 2013年12月12月 12 1星期二 51 第51周(12月11日~12月23日 否201312182013-12-18 18 20132013年44季度 201312 2013年12月12月 12 2星期三 51 第51周(12月12日~12月24日 否201312192013-12-19 19 20132013年44季度 201312 2013年12月12月 12 3星期四 51 第51周(12月13日~12月25日 否201312202013-12-20 20 20132013年44季度 201312 2013年12月12月 12 4星期五 51 第51周(12月14日~12月26日 否201312212013-12-21 21 20132013年44季度 201312 2013年12月12月 12 5星期六 51 第51周(12月15日~12月27日 是201312222013-12-22 22 20132013年44季度 201312 2013年12月12月 12 6星期日 51 第51周(12月16日~12月28日 是201312232013-12-23 23 20132013年44季度 201312 2013年12月12月 12 0星期一 52 第52周(12月17日~12月29日 否201312242013-12-24 24 20132013年44季度 201312 2013年12月12月 12 1星期二 52 第52周(12月18日~12月30日 否201312252013-12-25 25 20132013年44季度 201312 2013年12月12月 12 2星期三 52 第52周(12月19日~12月31日 否201312262013-12-26 26 20132013年44季度 201312 2013年12月12月 12 3星期四 52 第52周(12月20日~1月1日否201312272013-12-27 27 20132013年44季度 201312 2013年12月12月 12 4星期五 52 第52周(12月21日~1月2日否201312282013-12-28 28 20132013年44季度 201312 2013年12月12月 12 5星期六 52 第52周(12月22日~1月3日是201312292013-12-29 29 20132013年44季度 201312 2013年12月12月 12 6星期日 52 第52周(12月23日~1月4日是

    表结构:

    CREATE TABLE `dim_date` (&nbsp; `date_id` int(11) NOT NULL COMMENT '20110512',&nbsp; `date_name` varchar(16) DEFAULT NULL COMMENT '2011-05-12',&nbsp; `date_of_month` int(11) DEFAULT NULL COMMENT '12',&nbsp; `year_id` int(11) DEFAULT NULL COMMENT '2011',&nbsp; `year_name` varchar(16) DEFAULT NULL COMMENT '2011年',&nbsp; `quarter_id` int(11) DEFAULT NULL COMMENT '2',&nbsp; `quarter_name` varchar(16) DEFAULT NULL COMMENT '2季度',&nbsp; `month_id` int(11) DEFAULT NULL COMMENT '5',&nbsp; `month_name` varchar(16) DEFAULT NULL COMMENT '5月',&nbsp; `month_of_year_name` varchar(16) DEFAULT NULL COMMENT '2011年5月',&nbsp; `month_of_year_id` int(11) DEFAULT NULL COMMENT '201105',&nbsp; `week_id` int(11) DEFAULT NULL,&nbsp; `week_name` varchar(16) DEFAULT NULL,&nbsp; `week_of_year_id` int(11) DEFAULT NULL,&nbsp; `week_of_year_name` varchar(32) DEFAULT NULL,&nbsp; `is_weekend` enum('否','是') DEFAULT NULL COMMENT '是否周末',&nbsp; PRIMARY KEY (`date_id`),&nbsp; KEY `ix_dim_date_date_name` (`date_name`),&nbsp; KEY `ix_dim_date_month_id` (`month_id`),&nbsp; KEY `ix_dim_date_year_id` (`year_id`),&nbsp; KEY `ix_dim_date_quanter_id` (`quarter_id`),&nbsp; KEY `ix_dim_date_week_of_year_id` (`week_of_year_id`,`week_of_year_name`)) ENGINE=MyISAM DEFAULT CHARSET=latin1

    总结

    以上所述是小编给大家介绍的Mysql时间轴数据 获取同一天数据的前三条,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
    如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

    Mysql时间轴数据 获取同一天数据的前三条.docx

    将本文的Word文档下载到电脑

    推荐度:

    下载
    热门标签: mysql时间轴数据