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

这篇文章主要介绍了Mysql时间轴数据 获取同一天数据的前三条 ,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下

创建表数据

 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_info order by id desc ) AS temp WHERE row_num <3;

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

 DROP PROCEDURE IF EXISTS pro_dim_date; tudou@Gyyx CREATE PROCEDURE pro_dim_date(IN bdate DATE,IN edate DATE) BEGIN DECLARE var DATE DEFAULT bdate; DECLARE evar DATE DEFAULT DATE_ADD(edate,INTERVAL 1 DAY); DECLARE bweek DATE; DECLARE eweek DATE; WHILE var4 THEN '是' ELSE '否' END ); SET var=DATE_ADD(var,INTERVAL 1 DAY); END WHILE; END

调用:

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

结果:

 20131217  2013-12-17 17 2013  2013年  4  4季度 201312 2013年12月  12月 12 1  星期二 51 第51周(12月11日~12月23日 否 20131218  2013-12-18 18 2013  2013年  4  4季度 201312 2013年12月  12月 12 2  星期三 51 第51周(12月12日~12月24日 否 20131219  2013-12-19 19 2013  2013年  4  4季度 201312 2013年12月  12月 12 3  星期四 51 第51周(12月13日~12月25日 否 20131220  2013-12-20 20 2013  2013年  4  4季度 201312 2013年12月  12月 12 4  星期五 51 第51周(12月14日~12月26日 否 20131221  2013-12-21 21 2013  2013年  4  4季度 201312 2013年12月  12月 12 5  星期六 51 第51周(12月15日~12月27日 是 20131222  2013-12-22 22 2013  2013年  4  4季度 201312 2013年12月  12月 12 6  星期日 51 第51周(12月16日~12月28日 是 20131223  2013-12-23 23 2013  2013年  4  4季度 201312 2013年12月  12月 12 0  星期一 52 第52周(12月17日~12月29日 否 20131224  2013-12-24 24 2013  2013年  4  4季度 201312 2013年12月  12月 12 1  星期二 52 第52周(12月18日~12月30日 否 20131225  2013-12-25 25 2013  2013年  4  4季度 201312 2013年12月  12月 12 2  星期三 52 第52周(12月19日~12月31日 否 20131226  2013-12-26 26 2013  2013年  4  4季度 201312 2013年12月  12月 12 3  星期四 52 第52周(12月20日~1月1日  否 20131227  2013-12-27 27 2013  2013年  4  4季度 201312 2013年12月  12月 12 4  星期五 52 第52周(12月21日~1月2日  否 20131228  2013-12-28 28 2013  2013年  4  4季度 201312 2013年12月  12月 12 5  星期六 52 第52周(12月22日~1月3日  是 20131229  2013-12-29 29 2013  2013年  4  4季度 201312 2013年12月  12月 12 6  星期日 52 第52周(12月23日~1月4日  是

表结构:

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

总结

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

以上就是Mysql时间轴数据 获取同一天数据的前三条的详细内容,更多请关注0133技术站其它相关文章!

赞(0) 打赏
未经允许不得转载:0133技术站首页 » 数据库