برنامه نویسی

تفاوت GROUP BY و DISTINCT در SQL

Summarize this content to 400 words in Persian Lang
بندهای GROUP BY و DISTINCT در SQL هر دو برای مدیریت داده‌های تکراری استفاده می‌شوند، اما اهداف متفاوتی دارند و به روش‌های مختلفی کار می‌کنند:

متمایز

هدف: ردیف های تکراری را از مجموعه نتایج حذف می کند و فقط مقادیر منحصر به فرد را برمی گرداند.

Use Case: زمانی که می خواهید مقادیر منحصر به فرد را از یک یا چند ستون بدون هیچ گونه تجمعی واکشی کنید.

مثال:

بخش متمایز از کارمندان را انتخاب کنید.

این پرس و جو لیستی از اسامی واحدهای منحصر به فرد را از جدول کارکنان برمی گرداند.

گروه توسط

هدف: ردیف هایی را که مقادیر یکسانی در ستون های مشخص شده دارند گروه بندی می کند و امکان انجام توابع انبوه (مانند SUM، COUNT، AVG و غیره) را در این گروه ها فراهم می کند.

Use Case: زمانی که نیاز به جمع آوری داده ها و انجام محاسبات روی گروه های داده دارید.

مثال:

بخش SELECT، COUNT

از کارکنان گروه به بخش.

این پرس و جو ردیف ها را بر اساس بخش گروه بندی می کند و تعداد کارکنان هر بخش را شمارش می کند.

تفاوت های کلیدی

به طور خلاصه، زمانی که فقط نیاز به حذف ردیف های تکراری دارید، از DISTINCT استفاده کنید و زمانی که نیاز به جمع آوری داده ها بر اساس معیارهای خاص دارید، از GROUP BY استفاده کنید.

بندهای GROUP BY و DISTINCT در SQL هر دو برای مدیریت داده‌های تکراری استفاده می‌شوند، اما اهداف متفاوتی دارند و به روش‌های مختلفی کار می‌کنند:

  1. متمایز

هدف: ردیف های تکراری را از مجموعه نتایج حذف می کند و فقط مقادیر منحصر به فرد را برمی گرداند.

Use Case: زمانی که می خواهید مقادیر منحصر به فرد را از یک یا چند ستون بدون هیچ گونه تجمعی واکشی کنید.

مثال:

بخش متمایز از کارمندان را انتخاب کنید.

این پرس و جو لیستی از اسامی واحدهای منحصر به فرد را از جدول کارکنان برمی گرداند.

  1. گروه توسط

هدف: ردیف هایی را که مقادیر یکسانی در ستون های مشخص شده دارند گروه بندی می کند و امکان انجام توابع انبوه (مانند SUM، COUNT، AVG و غیره) را در این گروه ها فراهم می کند.

Use Case: زمانی که نیاز به جمع آوری داده ها و انجام محاسبات روی گروه های داده دارید.

مثال:

بخش SELECT، COUNT

از کارکنان گروه به بخش.

این پرس و جو ردیف ها را بر اساس بخش گروه بندی می کند و تعداد کارکنان هر بخش را شمارش می کند.

تفاوت های کلیدی

به طور خلاصه، زمانی که فقط نیاز به حذف ردیف های تکراری دارید، از DISTINCT استفاده کنید و زمانی که نیاز به جمع آوری داده ها بر اساس معیارهای خاص دارید، از GROUP BY استفاده کنید.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا