SQL การใช้งาน DISTINCT Statement

คำสั่ง DISTINCT ใน SQL ใช้สำหรับการกรองผลลัพธ์ที่ซ้ำกันออกจากการ Query ข้อมูล ซึ่งช่วยให้เราได้ผลลัพธ์ที่ไม่ซ้ำกันในคอลัมน์หรือชุดข้อมูลที่เราต้องการดึงออกมา โดยสามารถประยุกต์ใช้งานได้ในหลายรูปแบบ ดังนี้

SELECT DISTINCT ในคอลัมน์เดียว

ใช้กรองข้อมูลไม่ให้มีข้อมูลซ้ำกันในคอลัมน์เดียว

ตัวอย่าง

SQL
SELECT DISTINCT country
FROM customers;

คำสั่งนี้จะดึงค่าที่ไม่ซ้ำกันจากคอลัมน์ country ในตาราง customers ออกมา

SELECT DISTINCT หลายคอลัมน์

สามารถใช้ DISTINCT กับหลายคอลัมน์พร้อมกันได้ โดยผลลัพธ์ที่ได้จะเป็นการกรองค่าที่ไม่ซ้ำกันของชุดข้อมูลทั้งหมดในคอลัมน์ที่กำหนด

ตัวอย่าง

SQL
SELECT DISTINCT country, city
FROM customers;

กรณีนี้จะดึงชุดข้อมูลที่ไม่ซ้ำกันทั้งในคอลัมน์ country และ city หากทั้งสองคอลัมน์มีค่าเหมือนกัน ค่าที่ซ้ำจะไม่ถูกดึงออกมา

การใช้ SELECT DISTINCT ร่วมกับฟังก์ชันอื่น

สามารถใช้งาน DISTINCT ร่วมกับฟังก์ชัน aggregate (เช่น COUNT, SUM, AVG เป็นต้น) เพื่อหาค่าที่ไม่ซ้ำกัน

ตัวอย่าง

SQL
SELECT COUNT(DISTINCT country)
FROM customers;

คำสั่งนี้จะนับจำนวนประเทศที่ไม่ซ้ำกันในตาราง customers

DISTINCT และ ORDER BY

สามารถใช้งาน DISTINCT ควบคู่กับ ORDER BY เพื่อจัดเรียงผลลัพธ์ได้

ตัวอย่าง

SQL
SELECT DISTINCT country
FROM customers
ORDER BY country;

คำสั่งนี้จะดึงประเทศที่ไม่ซ้ำกันและจัดเรียงตามลำดับตัวอักษร

DISTINCT กับ WHERE Clause

สามารถใช้งาน DISTINCT ร่วมกับ WHERE เพื่อกรองข้อมูลที่ต้องการให้เฉพาะเจาะจงยิ่งขึ้น

ตัวอย่าง

SQL
SELECT DISTINCT country
FROM customers
WHERE city = 'Bangkok';

คำสั่งนี้จะดึงประเทศที่ไม่ซ้ำกันจากลูกค้าที่อาศัยในเมืองกรุงเทพฯ เท่านั้น

DISTINCT กับ JOIN

สามารถใช้งาน DISTINCT ร่วมกับ JOIN เพื่อดึงข้อมูลที่ไม่ซ้ำกันจากหลายตาราง

ตัวอย่าง

SQL
SELECT DISTINCT customers.country
FROM customers
JOIN orders
ON customers.customer_id = orders.customer_id;

คำสั่งนี้จะดึงประเทศที่ไม่ซ้ำกันจากลูกค้าที่มีการสั่งซื้อสินค้า

คำสั่ง DISTINCT เป็นคำสั่งที่มีประโยชน์มาก ใช้สำหรับการกรองข้อมูลที่ซ้ำกัน สามารถใช้งานได้ทั้งแบบคอลัมน์เดียว หลายคอลัมน์ หรือแม้กระทั่งรวมกับฟังก์ชัน aggregate หรือคำสั่งอื่นๆ

แชร์เรื่องนี้