การใช้ 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) ...