الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

حساب المتوسط الحسابي لعدد معين من السجلات

مغلق
بدأه أبو محمـد في 6 يناير 2006 · 4 رد · 3,346 مشاهدة · في قواعد بيانات Microsoft SQL Server
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ،،،

هل استطيع استخدام دالة الـ count وتحديد عدد سجلات معين مثلا آخر 10 سجلات وحساب المتوسط الحسابي لعمود معين ، بدون استخدام الشروط where .

#2

اولا لا داعي لcount لان الدالة avg تعيد لك المتوسط الحسابي ,فقط حدد السجلات التي تريد ادراجها في حساب المتوسط

مثلا حساب متوسط اعمار الطلبة المنحدرين من المدينة Y

Select Avg(Age) From Students Where City='Y'
#3

شكرا جزيلا أخي مدني

اقتباس
اولا لا داعي لcount لان الدالة avg تعيد لك المتوسط الحسابي ,فقط حدد السجلات التي تريد ادراجها في حساب المتوسط

مثلا حساب متوسط اعمار الطلبة المنحدرين من المدينة Y

هنا المشكلة ، لا يوجد لدي حقل بالقاعدة لأضع شرط تحديد عدد السجلات .

مثلا لدي رمز الشركة التاريخ سعر الاغلاق

أريد عمل استفسار يحسب المتوسط الحسابي لاخر 50 سجل مرتبة حسب التاريخ .

هنا احتاج احدد عدد السجلات 50 سجل ، ولا يوجد حقل في القاعدة لعمل الشرط عليه.

الحل الذي اتبعته هو إدراج حقل جديد بقاعدة البيانات . وعمل الاستفسار التالي بعد ذلك .

select id_comp,AVG(pr_close) from price_date  where id > ( select max(id_m) from price_date_m )- 50 GROUP BY id_comp

هل يوجد دالة جاهزة تعمل ذلك بدون إدراج الحقل .

#4

حاولت محاكاة وضعك بكتابة هذا الاستعلام الذي يحضر لنا متوسط أسعار أعلى 10 أصناف بضائع من حيث كمية المخزون منها بعد ترتيبها تنازلياً حسب كمية المخزون.

select avg(unitprice) from products where unitprice in(
select top 10 unitsinstock, unitprice from products order by unitsInstock desc )

استعملنا Top لإحضار أسماء أعلى 10 أصناف من حيث معيار معين، ومن ثم الدالة avg لحساب المتوسط

آمل أن تفيدك هذه المحاولة.

بالتوفيق بإذن الله.

:)

فكر بطريقة أخرى

#5

السلام عيكم

شكرا جزيلا أخي walcom فعلا هذ1 ما أريده

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…