尋找表格中最近的3個日期的MySQL查詢,並且結果的日期不應重複


要查詢最新的日期,按DESC順序對日期記錄進行排序。由於我們只想獲取3個日期,因此使用LIMIT 3。

我們先建立一個表格——

mysql> create table DemoTable
(
   AdmissionDate date
);
Query OK, 0 rows affected (0.56 sec)

使用insert命令在表格中插入一些記錄——

mysql> insert into DemoTable values('2019-09-04');
Query OK, 1 row affected (0.09 sec)
mysql> insert into DemoTable values('2019-08-10');
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable values('2019-09-21');
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable values('2019-09-18');
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable values('2019-09-21');
Query OK, 1 row affected (0.08 sec)
mysql> insert into DemoTable values('2019-08-18');
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable values('2019-09-18');
Query OK, 1 row affected (0.19 sec)
mysql> insert into DemoTable values('2019-09-16');
Query OK, 1 row affected (0.10 sec)

使用select語句顯示錶格中的所有記錄——

mysql> select *from DemoTable;

這將生成以下輸出——

+---------------+
| AdmissionDate |
+---------------+
| 2019-09-04    |
| 2019-08-10    |
| 2019-09-21    |
| 2019-09-18    |
| 2019-09-21    |
| 2019-08-18    |
| 2019-09-18    |
| 2019-09-16    |
+---------------+
8 rows in set (0.00 sec)

以下是查詢表格中最近3個日期的程式碼——

mysql> select AdmissionDate from (select distinct AdmissionDate from DemoTable) tbl order by AdmissionDate desc limit 3;

這將生成以下輸出——

+---------------+
| AdmissionDate |
+---------------+
| 2019-09-21    |
| 2019-09-18    |
| 2019-09-16    |
+---------------+
3 rows in set (0.00 sec)

更新於: 2019-10-04

391次瀏覽

開啟你的 職業

完成該課程,獲得認證

開始
廣告
© . All rights reserved.