게시물에 언급 한 3 개의 날짜가있는 주문 테이블이 있다고 가정합니다. 주문 테이블에 간단한 4 개의 열 (id, startDate, endDate, compDate)이 있다고 가정합니다. 늦게 주문이 중 두 주문 테이블에 세 개의 레코드가있다
CREATE TABLE `orders` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`startDate` datetime DEFAULT NULL,
`endDate` datetime DEFAULT NULL,
`compDate` datetime DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1;
이 가정들이 endDate가 초과입니다 : 당신이 필요로하는 지금
/*Data for the table `orders` */
insert into `orders`(`id`,`startDate`,`endDate`,`compDate`) values
(1,'2017-04-10 00:00:00','2017-04-20 00:00:00','2017-04-23 00:00:00'),
(2,'2017-04-10 00:00:00','2017-04-20 00:00:00','2017-04-19 00:00:00'),
(3,'2017-04-10 00:00:00','2017-04-20 00:00:00','2017-04-22 00:00:00');
을 같이 이제 MySQL 데이터베이스의 SQL이 주어집니다 늦게 전달 된 그 주문을 확인하기 위해 필터를 사용하여 다음과 같은 간단한 SQL 문 (compDate> endDate가) 실행 :
SELECT * FROM orders WHERE compDate > endDate;
을 당신에게 ID 1과 두 늦게 배달 기록을 줄 것이다 3. (즉, 늦게 주문.)
Click here to see the Sqlyog query snapshot that displays late orders
희망이 당신의 문제를 해결한다.
힌트 : 열을 비교하는 'WHERE'. –
종료일이 시작일보다 이전 – Strawberry