การรวมผลลัพธ์ด้วย UNION และ DISTINCT ใน MySQL
ตัวอย่างนี้แสดงวิธีการกำหนดค่าเฉพาะ 2 ค่าแรกด้วย SELECT แบบคงที่ แล้วรวมกับค่าที่ไม่ซ้ำกันจากตารางโดยใช้ UNION และ DISTINCT
สร้างตารางและเพิ่มข้อมูล
mysql> CREATE TABLE DemoTable (FirstName VARCHAR(100));
Query OK, 0 rows affected (0.96 sec)
mysql> INSERT INTO DemoTable VALUES('Chris');
mysql> INSERT INTO DemoTable VALUES('Robert');
mysql> INSERT INTO DemoTable VALUES('Mike');
mysql> INSERT INTO DemoTable VALUES('David');
แสดงข้อมูลทั้งหมด
mysql> SELECT * FROM DemoTable;
ผลลัพธ์:
+-----------+
| FirstName |
+-----------+
| Chris |
| Robert |
| Mike |
| David |
+-----------+
4 rows in set (0.00 sec)
คำสั่งรวมค่าคงที่ 2 ค่าแรกกับค่าที่ไม่ซ้ำจากตาราง
mysql> SELECT 'Robert' AS FirstName
UNION SELECT 'David' AS FirstName
UNION SELECT DISTINCT(FirstName) AS FirstName FROM DemoTable;
ผลลัพธ์:
+-----------+
| FirstName |
+-----------+
| Robert |
| David |
| Chris |
| Mike |
+-----------+
4 rows in set (0.00 sec)
คำอธิบาย
UNIONจะรวมผลลัพธ์และกำจัดค่าซ้ำโดยอัตโนมัติSELECT 'Robert'และSELECT 'David'สร้างแถวข้อมูลคงที่SELECT DISTINCT(FirstName) FROM DemoTableดึงค่าที่ไม่ซ้ำจากตาราง- ลำดับการแสดงผลจะตามลำดับของ UNION