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='   ';
데이터 추가 생략
시간 축 앞 두 데이터

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 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')
결과:

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` (
&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 시간 축 데이터 가 같은 날 데 이 터 를 얻 기 위 한 세 가지 입 니 다.여러분 에 게 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 저 에 게 메 시 지 를 남 겨 주세요.소 편 은 제때에 여러분 에 게 답 할 것 입 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!
만약 당신 이 본문 이 당신 에 게 도움 이 된다 고 생각한다 면,전 재 를 환영 합 니 다.번 거 로 우 시 겠 지만 출처 를 밝 혀 주 십시오.감사합니다!

좋은 웹페이지 즐겨찾기