Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

MySQL의 날짜 값이 있는 레코드에서 마지막 날짜를 찾는 방법은 무엇입니까?

<시간/>

마지막 날짜, 즉 최신을 얻으려면 하위 쿼리와 함께 집계 함수 MAX()를 사용하십시오. 먼저 테이블을 생성하겠습니다 -

mysql> 테이블 생성 DemoTable( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, ExpiryDate date);Query OK, 영향을 받는 행 0개(1.40초)

삽입 명령을 사용하여 테이블에 일부 레코드 삽입 -

mysql> insert into DemoTable(ExpiryDate) values('2018-12-31');Query OK, 1행 영향(0.15초) mysql> insert into DemoTable(ExpiryDate) values('2019-09-01');Query OK, 1행 영향(0.14초)mysql> DemoTable(ExpiryDate) 값에 삽입('2019-09-01');Query OK, 1행 영향(0.07초)mysql> DemoTable(ExpiryDate) 값에 삽입( '2016-08-30');쿼리 OK, 1행 영향(0.13초)mysql> DemoTable(ExpiryDate) 값에 삽입('2019-06-23');쿼리 OK, 1행 영향(0.17초) 

select 문을 사용하여 테이블의 모든 레코드 표시 -

mysql> DemoTable에서 *선택;

이것은 다음과 같은 출력을 생성합니다 -

+----+------------+| 아이디 | 만료일 |+----+------------+| 1 | 2018-12-31 || 2 | 2019-09-01 || 3 | 2019-09-01 || 4 | 2016-08-30 || 5 | 2019-06-23 |+----+------------+5행 세트(0.00초)

다음은 마지막 날짜의 레코드를 찾는 쿼리입니다 -

mysql> select *from DemoTable where ExpiryDate=(select max(ExpiryDate) from DemoTable);

그러면 다음과 같은 출력이 생성됩니다. 삽입된 레코드에서 마지막 날짜는 2019-09-0입니다. 아래 출력에서도 마찬가지입니다 -

+----+------------+| 아이디 | 만료일 |+----+------------+| 2 | 2019-09-01 || 3 | 2019-09-01 |+----+------------+2행 세트(0.00초)