افزودن بند GROUP BY برای اکثر موارد بسیار کارآمد است

افزودن بند GROUP BY برای اکثر موارد بسیار کارآمد است


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

صفحه افشای وابسته را بخوانید تا دریابید که چگونه می‌توانید به ویندوز کمک کنید تا بدون زحمت و بدون هزینه کردن، گزارش دهید. بیشتر بخوانید

نوشتن اسکریپت های SQL ممکن است سرگرم کننده باشد تا زمانی که با اشکالات و خطاهای کد خود مواجه شوید. یک تعدادی از خوانندگان ما از پیام خطا شکایت کرده اند پرسمان شما عبارت مشخص شده را به عنوان بخشی از یک تابع جمع شامل نمی شود.

عملکرد تجمیع ممکن است مشکل باشد، اما ما آن را در این راهنما حل خواهیم کرد. با این حال، اگر SQL شما ممکن است راهنمای دیگر ما را بررسی کنید اجرای پرس و جو سرور برای مجموعه داده.

ناموفق بود

چرا این خطا را دریافت می کنم که عبارت جستجوی شما عبارت مشخص شده را به عنوان بخشی از یک تابع جمع شامل نمی شود؟

هر یک از موارد زیر ممکن است دلیل دریافت خطا باشد:

  • شما از عبارتی استفاده می‌کنید که تابع تجمیع نیست.
  • موتور پایگاه داده نمی‌تواند ردیف‌ها را گروه‌بندی کند زیرا در عبارت GROUP BY نیست.
  • >شما عبارت را در بند GROUP BY قرار می دهید، اما ستون شما زیر عبارت SELECT نیست.

اگر در ورود به سیستم مشکل دارید، باید راهنمای دیگر ما را بررسی کنید. به Microsoft SQL Server.

چگونه می توانم درخواست شما را اصلاح کنم که عبارت مشخص شده را به عنوان بخشی از یک تابع جمع شامل نمی شود؟

از بند GROUP BY و تابع جمع استفاده کنید

  1. با استفاده از اسکریپت زیر، عبارت SELECT را تعریف کنید.
    انتخاب
    کشور،
    FROM
    مشتریان

  2. با استفاده از اسکریپت زیر تابع جمع را اضافه کنید (باید آن را با نیاز خاص خود تطبیق دهید).
    COUNT(customer_id) AS number_of_customers
  3. افزودن GROUP BY< بند /strong>. در اسکریپ زیر می خواهیم تعداد مشتریان هر کشور را در جدول بشماریم. با استفاده از GROUP BY، پایگاه داده شمارش می کند و رقم صحیح را برمی گرداند.
    GROUP BY
    country;
  4. اسکریپت را اجرا کنید و بررسی کنید که درخواست شما شامل عبارت مشخص شده به عنوان بخشی از یک تابع جمع نمی‌شود.

رفع شود.


توجه

با گروه بندی ردیف ها قبل از اعمال توابع انبوه، عبارت GROUP BY به موتور پایگاه داده این امکان را می دهد که بفهمد چگونه ورودی ها را ترکیب کرده و نتایج مناسب را ارائه دهد.

5 تابع جمع در SQL چیست؟

در SQL، ممکن است بتوانید از یکی از توابع انبوه زیر استفاده کنید:

  • COUNT()
  • SUM()
  • AVG()
  • MIN()
  • MAX()< /li>

اما، هنگام استفاده از هر یک از توابع انبوه بالا، ملاحظات اضافی زیر را به خاطر بسپارید:

  • شما فقط می‌توانید از توابع تجمیع در ستون‌هایی با داده‌های عددی استفاده کنید.
  • در ستون‌هایی که بخشی از یک بند GROUP BY هستند، توابع تجمیع کار نمی‌کنند.
  • A ستونی که همچنین بخشی از لیست SELECT است در نتایج به عنوان یک مقدار منفرد ظاهر می شود اگر یک تابع انبوه را روی آن اعمال کنید.

این را دارید. اکنون باید بفهمید که چرا این خطا را دریافت کرده اید و با تطبیق راه حل های ما، باید به موفقیت دست پیدا کنید.

ممکن است به سایر راهنماهای ما نیز علاقه مند باشید، مانند تعمیر پایگاه داده خراب در سرور SQL.

اگر این راهنما را در بخش نظرات زیر مفید یافتید، به ما اطلاع دهید. همچنین، اگر راه‌های دیگری برای رفع خطا دارید، خوشحال می‌شویم از شما مطلع شویم.



خروج از نسخه موبایل