SQL SELECT DISTINCT Statement

SELECT DISTINCT برای برگرداندن مقادیر یکتا (Unique) در ستون یا ستون‌های مشخص استفاده می‌شود.
اگر در یک ستون چند مقدار تکراری وجود داشته باشد، این دستور هر مقدار را فقط یک‌بار نمایش می‌دهد.

🟢 ساختار کلی

SELECT DISTINCT column1, column2, ... FROM table_name WHERE condition;
  • اگر چند ستون بنویسید، ترکیب یکتای آن‌ها بررسی می‌شود.

🟡 مثال‌های ساده

1️⃣ مقدار یکتا از یک ستون

SELECT DISTINCT city FROM customers;

همه نام شهرها را بدون تکرار برمی‌گرداند.

2️⃣ مقادیر یکتا با شرط

SELECT DISTINCT country FROM customers WHERE active = 1;

فقط کشورهایی که مشتری فعال دارند.

3️⃣ چند ستون

SELECT DISTINCT city, country FROM customers;

ترکیب یکتای (city + country)؛
مثلاً اگر یک شهر در دو کشور مختلف باشد، هر ترکیب جداگانه شمرده می‌شود.

🟠 مقایسه با GROUP BY

  • GROUP BY نیز مقادیر یکتا را نشان می‌دهد ولی برای محاسبات تجمیعی (COUNT, SUM, …) کاربرد دارد.

  • اگر فقط لیست مقادیر بدون محاسبه می‌خواهید، SELECT DISTINCT کوتاه‌تر است.

مثال مشابه با GROUP BY:

SELECT city FROM customers GROUP BY city;

🟣 نکات مهم

  • DISTINCT روی نتیجه کل عبارت SELECT اعمال می‌شود.

  • ترتیب کلیدواژه‌ها: SELECT DISTINCT … FROM … WHERE … ORDER BY ….

  • می‌توانید همراه توابع مثل COUNT استفاده کنید:

    SELECT COUNT(DISTINCT city) AS unique_cities FROM customers;

✅ جمع‌بندی

  • SELECT DISTINCT = حذف ردیف‌های تکراری از خروجی.

  • روی یک یا چند ستون کار می‌کند.

  • ساده‌ترین روش برای گرفتن لیست مقادیر یکتا از یک جدول است.