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

عدد تكرر كلمه في عمود

بدأه ADEL29 في 13 أكتوبر 2013 · 12 رد · 1,459 مشاهدة · في قواعد بيانات Microsoft SQL Server
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمه الله وبركاته

 

 

عندي استفسار  بسيط   عن اجراء عمليه حسابيه كالتالي

 

 

عندي عمود يحتوي على كلمات  اريد ان اعرف عدد  كلمه معينه  مثل  عمود يحتوي على   yes  و no  و ok  كيف  احسب  عدد تكرار  كلمه  مثلا ok  في العمود

#2

السلام عليكم ورحمة الله وبركاته

يمكنك ذلك بإذن الله باستخدام الدالة count على العمود المطلوب ولا تنسى أن يتم التجميع group by بواسطة نفس العمود فيقوم بتقسيم هذا العمود إلى مجموعات كل منها تضم نفس الكلمة ثم يقوم بحساب العدد فى كل مجموعة

select colName, count(colName) from Table1 group by colName
7

أدعو الله أن يجعل أعمالنا خالصة لوجهه الكريم --- وأن ينفعنا بما علمنا

Dr Sayed Tohamy

Programming Instructor

مدرب برمجة

---------------

EmaSoft2000

-------------------

#3

فرضاً أن اسم الجدول table واسم العمود column، يمكنك عدّ جميع القيم هكذا:

SELECT column, COUNT(column) FROM table GROUP BY column;

ستعطي شيء مثل:

no  | 6ok  | 4yes | 3

اذا كنت تريد قيمة محددة، يمكنك استخدام:

SELECT COUNT(column) FROM table WHERE column = 'ok';

وستعطي:

4

 

فقط اقتراح، أفضل أن تغير نوع البيانات من بيانات نصّية إلى نوع أصغر مثل TINYINT، حجمه بايت واحد، وتعطي كل قيمه رقم يمثلها:

0. no1. yes2. ok

ستوفر عليك بعض الحجم (yes تتطلب 3 بايتات، يمكنك توفير بايتين).

1
#4

** مشاركة مكررة **

تم تعديل هذه المشاركة بواسطة Mr.B في 13 أكتوبر 2013 في 15:18

#5

السلام عليكم ورحمة الله وبركاته  

 

أرجو أن يكون هذا هو المطلوب

 

وكل عام و أنتم بخير  

 

والسلام عليكم ورحمة الله وبركاته  

post-275323-0-22678200-1381666682_thumb.

#6

اولاً شكرا لكم من كل قلبي

 

ثانيا   كيف استخدم القيم الناتجه  بعد الاستعلام في مسائل حسابيه

 

نتج عندي

no  | 6ok  | 4yes | 3

 طيب كيف  استخدم   هذه الارقام     6 و4 و 3  في عمليات حسابيه 

تم تعديل هذه المشاركة بواسطة ADEL29 في 13 أكتوبر 2013 في 21:01

#7

هل استطيع  اجراء العمليات الحسابيه على نتائج الاستعلام او  يجب حفظها  قبل استخدامها ؟

ممكن شرح

#8

اسف  اذا كنت ثقيلا بالاسئله

ولكني مبتدى  وانتظر اجابتكم

جزاكم الله خيرا

#9

السلام عليكم ورحمة الله وبركاته

جميع العمليات الحسابية يجب أن تتم فى الاستعلام نفسه، لأن النتيجة عندما تظهر لا تستطيع التحكم فيها لأنها غير مخزنة فى متغير، إلا إذا قمت بتخزينها فى لغة البرمجة السى شارب أو الفيجوال بيسك داخل أى كائن مثل DataTable فتستطيع أن تتعامل معه بأى عمليات حسابية

 

إلا أنك ورغم ذلك تستطيع التعامل مع هذا الاستعلام كأنه استعلام داخل لاستعلام آخر

select * from (
select colName, count(colName) as Quantity from Table1 group by colName
) as NewTable

أدعو الله أن يجعل أعمالنا خالصة لوجهه الكريم --- وأن ينفعنا بما علمنا

Dr Sayed Tohamy

Programming Instructor

مدرب برمجة

---------------

EmaSoft2000

-------------------

#10

ممكن توضح ماهي العملية الحسابية لجد افضل حل

#11

التعليمه هذة

select colName, count(colName) from Table1 group by colName

تعطيني  النتيجه التاليه

no  | 6ok  | 4yes | 3

لكن اذا مسحت  yes من الجدول فان النتيجه  تكون

no  | 6ok  | 4

انا اريد ان يعيد لي قيمه es على انها تساوي صفر  مثل  هذا

no  | 6ok  | 4yes | 0
#12
KARIMSOFT كتب:

ممكن توضح ماهي العملية الحسابية لجد افضل حل

العمليات هي ضرب وطرح وجمع

#13

السلام عليكم ورحمة الله وبركاته

 

كيف تريده أن يظهر لك كلمة yes وهى غير موجودة أصلاً فى الجدول؟؟؟ من أين له أن يعرف بالكلمات التى تريدها كلها؟؟؟ هو يقوم بتقسيم الجدول إلى مجموعات بناء على الكلمات التى عنده

 

أما إذا كنت تريد إظهار كلمات معينة وعدد تكرار كل كلمة حتى لو لم تكن موجودة فيجب عليك أن تنشئ جدولاً يحتوى على هذه الكلمات وليكن اسمه Words يحتوى على عمود واحد اسمه Col1 واستخدم الأمر التالى

لاحظ أن الجدول Words لابد أن يحتوى على كل الكلمات التى تريد إظهارها بغض النظر عن وجودها أو عدمه فى الجدول الأساسى

لاحظ أيضاً أنك تكتب كل كلمة فى الجدول Words مرة واحدة فقط وإلا سيعطيك نتائج خاطئة

select Words.Col1, IsNull(count(Table1.ColName) ,0) from
Words left outer join Table1 on
Words.Col1 = Table1.ColName
group by Words.Cols

أدعو الله أن يجعل أعمالنا خالصة لوجهه الكريم --- وأن ينفعنا بما علمنا

Dr Sayed Tohamy

Programming Instructor

مدرب برمجة

---------------

EmaSoft2000

-------------------

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