Mysql時間軸資料 獲取同一天資料的前三條
阿新 • • 發佈:2020-01-09
建立表資料
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 var<evar DO SET bweek = DATE_ADD(DATE_SUB(var,INTERVAL 1 WEEK),INTERVAL 1 DAY); SET eweek = DATE_SUB(DATE_ADD(var,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,DAYOFMONTH(var),YEAR(var),CONCAT(YEAR(var),'年'),QUARTER(var),CONCAT(QUARTER(var),'季度'),'%Y%m'),'年',MONTH(var),'月'),CONCAT(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('第','周(',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')
結果:
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時間軸資料 獲取同一天資料的前三條,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回覆大家的。在此也非常感謝大家對我們網站的支援!
如果你覺得本文對你有幫助,歡迎轉載,煩請註明出處,謝謝!