Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

แสดงวันที่ที่ไม่ซ้ำกัน (DISTINCT) จากคอลัมน์ DATETIME ใน MySQL

การใช้ DISTINCT กับคอลัมน์วันที่/เวลา (DATETIME)

คำสั่ง SELECT DISTINCT สามารถใช้กับคอลัมน์ DATETIME ได้โดยตรง เพื่อแสดงเฉพาะวันที่/เวลาที่ไม่ซ้ำกัน

สร้างตารางและเพิ่มข้อมูล

mysql> CREATE TABLE DemoTable (AdmissionDate DATETIME);
Query OK, 0 rows affected (8.99 sec)

mysql> INSERT INTO DemoTable VALUES('2010-01-10 12:30:45');
mysql> INSERT INTO DemoTable VALUES('2010-01-10 12:30:45');
mysql> INSERT INTO DemoTable VALUES('2010-01-10 12:30:45');
mysql> INSERT INTO DemoTable VALUES('2010-01-12 12:30:45');
mysql> INSERT INTO DemoTable VALUES('2010-01-20 12:30:45');
mysql> INSERT INTO DemoTable VALUES('2010-01-20 12:30:45');

แสดงข้อมูลทั้งหมด

mysql> SELECT * FROM DemoTable;

ผลลัพธ์:

+---------------------+
| AdmissionDate       |
+---------------------+
| 2010-01-10 12:30:45 |
| 2010-01-10 12:30:45 |
| 2010-01-10 12:30:45 |
| 2010-01-12 12:30:45 |
| 2010-01-20 12:30:45 |
| 2010-01-20 12:30:45 |
+---------------------+
6 rows in set (0.00 sec)

คำสั่งแสดงวันที่ที่ไม่ซ้ำกัน

mysql> SELECT DISTINCT AdmissionDate FROM DemoTable;

ผลลัพธ์:

+---------------------+
| AdmissionDate       |
+---------------------+
| 2010-01-10 12:30:45 |
| 2010-01-12 12:30:45 |
| 2010-01-20 12:30:45 |
+---------------------+
3 rows in set (0.00 sec)

คำอธิบาย

  • DISTINCT กำจัดแถวที่มีค่า AdmissionDate ซ้ำกันทุกช่อง (รวมเวลา)
  • ในตัวอย่างมี 3 วันที่ไม่ซ้ำ: 10, 12, 20 มกราคม 2010
  • หากต้องการเฉพาะวันที่ (ไม่รวมเวลา) ให้ใช้ SELECT DISTINCT DATE(AdmissionDate) ...