때때로 프로그래머는 시간 통계에 대한 일부 개발 작업에서 분리될 수 없어야 하고 다양한 보고서 데이터를 계산해야 하므로 시간을 쿼리하기 위해 필연적으로 MySQL을 사용하게 됩니다. MySQL 문은 모두 매우 길고 복잡하므로 시간에 대한 기본적인 SQL 통계 지식을 요약해 보겠습니다.
이제 다음과 같은 주문 데이터 테이블이 있다고 가정합니다.
CREATE TABLE `order` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `order_sn` varchar(50) CHARACTER SET utf8 NOT NULL DEFAULT '' COMMENT '订单编号,保证唯一', `create_at` int(11) NOT NULL DEFAULT '0' COMMENT '创建时间', `success_at` int(11) NOT NULL DEFAULT '0' COMMENT '订单完成时间', `creator_id` varchar(50) CHARACTER SET utf8 NOT NULL DEFAULT '' COMMENT '订单创建人', PRIMARY KEY (`id`), UNIQUE KEY `uni_sn` (`order_sn`), ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='订单表';
이제 위 테이블을 예로 들어 관련 데이터를 쿼리합니다.
오늘 완료된 모든 주문 번호 쿼리:
SELECT `order_sn` FROM `order` WHERE YEARWEEK(FROM_UNIXTIME(success_at,'%Y-%m-%d')) = date_format(now(),'%Y-%m-%d');
이번 주에 완료된 모든 주문 번호 쿼리:
SELECT `order_sn` FROM `order` WHERE YEARWEEK(FROM_UNIXTIME(success_at,'%Y-%m-%d')) = YEARWEEK(now());
지난 주 완료된 주문 번호 모두 조회:
SELECT `order_sn` FROM `order` WHERE YEARWEEK(FROM_UNIXTIME(success_at,'%Y-%m-%d')) = YEARWEEK(now())-1;
이번 달 완료된 주문 번호 모두 조회:
select `order_sn` from `order` where FROM_UNIXTIME(success_at,'%Y-%m')=date_format(now(),'%Y-%m');
지난 달 완료된 주문 번호 모두 조회:
select `order_sn` from `order` where FROM_UNIXTIME(success_at,'%Y-%m')=date_format(DATE_SUB(curdate(), INTERVAL 1 month),'%Y-%m');
지금부터 6일 후 조회 월별 완료 주문 번호:
select `order_sn` from `order` where FROM_UNIXTIME(success_at,'%Y-%m-%d %H:%i:%s') between date_sub(now(),interval 6 month) and now();
이번 분기에 완료된 모든 주문 번호 쿼리:
select `order_sn` from `order` where QUARTER(FROM_UNIXTIME(success_at,'%Y-%m-%d'))=QUARTER(now());
지난 분기에 완료된 모든 주문 번호 쿼리:
select `order_sn` from `order` where QUARTER(FROM_UNIXTIME(success_at,'%Y-%m-%d'))=QUARTER(DATE_SUB(now(),interval 1 QUARTER));
올해 완료된 모든 주문 번호 쿼리:
select `order_sn` from `order` where YEAR(FROM_UNIXTIME(success_at,'%Y-%m-%d'))=YEAR(NOW());
전년도에 완료된 모든 주문 번호 쿼리:
select `order_sn` from `order` where year(FROM_UNIXTIME(success_at,'%Y-%m-%d'))=year(date_sub(now(),interval 1 year));
현재 MySQL 쿼리 시간에 관한 프로젝트를 맡고 있습니다. 그렇다면 이 기사가 도움이 되기를 바랍니다.
관련 권장 사항:
mysql 데이터베이스 차이 비교를 위해 PHP 코드를 사용하는 mysql 시간 함수
위 내용은 MySQL 쿼리 시간에 대한 지식의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!