فناوری

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

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


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

Tooltip Icon

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

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

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

ناموفق بود

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

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

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

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

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

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

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

    your query does not include the specified expression as part of an aggregate function
  2. با استفاده از اسکریپت زیر تابع جمع را اضافه کنید (باید آن را با نیاز خاص خود تطبیق دهید).
    COUNT(customer_id) AS number_of_customers
    d8a7d981d8b2d988d8afd986 d8a8d986d8af group by d8a8d8b1d8a7db8c d8a7daa9d8abd8b1 d985d988d8a7d8b1d8af d8a8d8b3db8cd8a7d8b1 daa9d8a7d8b1 660b19e61dd00
  3. افزودن GROUP BY< بند /strong>. در اسکریپ زیر می خواهیم تعداد مشتریان هر کشور را در جدول بشماریم. با استفاده از GROUP BY، پایگاه داده شمارش می کند و رقم صحیح را برمی گرداند.
    GROUP BY
    country;
    your query does not include the specified expression as part of an aggregate function
  4. اسکریپت را اجرا کنید و بررسی کنید که درخواست شما شامل عبارت مشخص شده به عنوان بخشی از یک تابع جمع نمی‌شود.

رفع شود.

Note icon
توجه

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

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

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

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

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

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

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

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

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



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

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

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

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