عدد السجلات المطابقة لـ MySQL مع COUNT

Mysql Count Matching Records With Count



يحدث تكرار البيانات لأسباب كثيرة. تحاول العديد من المهام المعقدة التي يجب عليك التعامل معها أثناء العمل مع أنظمة قواعد البيانات اكتشاف القيم المكررة. لهذا الغرض ، سنستخدم الطريقة التجميعية COUNT (). طريقة COUNT () ترجع مجموع الصفوف الموجودة في جدول معين. تسمح لك الدالة COUNT () بجمع كل الصفوف أو الصفوف فقط التي تطابق الشرط المحدد. في هذا الدليل ، ستتعرف على كيفية تحديد القيم المكررة لواحد أو ربما أكثر من أعمدة MySQL باستخدام COUNT (). طريقة COUNT () لها الأنواع الثلاثة التالية:

  • عدد(*)
  • COUNT (تعبير)
  • العد (تعبير مميز)

تأكد من تثبيت MySQL على نظامك. افتح قذيفة عميل سطر أوامر MySQL وأدخل كلمة مرورك للمتابعة. سننظر في بعض الأمثلة لحساب القيم المطابقة باستخدام طريقة COUNT ().









لدينا جدول 'اجتماعي' في 'بيانات' مخططنا. دعونا نتحقق من سجلها عبر الاستعلام التالي.



>> تحديد * من عند البيانات .اجتماعي؛





عدد MySQL (*)

يتم استخدام طريقة COUNT (*) لحساب عدد الصفوف الموجودة في الجدول أو حساب عدد الصفوف وفقًا للحالة المحددة. للتحقق من العدد الإجمالي للصفوف في جدول ، جرب طلب البحث 'اجتماعي'. لدينا إجمالي 15 صفًا في الجدول وفقًا للنتيجة.

>> تحديد عدد (*) من عند البيانات .اجتماعي؛



ألقِ نظرة على طريقة COUNT (*) أثناء تحديد بعض الشروط. علينا إحضار عدد الصفوف حيث يكون اسم المستخدم هو نفسه 'مصطفى'. يمكنك أن ترى أن لدينا 4 سجلات فقط لهذا الاسم بالذات.

>> تحديد عدد (*) من عند البيانات .اجتماعي أين مستخدم ='مصطفى'؛

لجلب المجموع الإجمالي للصفوف حيث يكون موقع المستخدمين على الويب هو 'Instagram' ، جرب الاستعلام المذكور أدناه. يحتوي الجدول 'اجتماعي' على 4 سجلات فقط لموقع 'Instagram'.

>> تحديد عدد (*) من عند البيانات .اجتماعي أين موقع الكتروني='انستغرام'؛

لاسترداد العدد الإجمالي للصفوف حيث يكون 'العمر' أكبر من 18 كما يلي:

>> تحديد عدد (*) من عند البيانات .اجتماعي أين سن> 18؛

لنجلب بيانات العمودين 'المستخدم' و 'الموقع الإلكتروني' من جدول ، حيث يبدأ اسم المستخدم بالحرف الأبجدي 'م'. جرب التعليمات أدناه على الغلاف.

>> تحديد مستخدم وموقع الكتروني من عند البيانات .اجتماعي أين مستخدم مثل٪'؛

MySQL COUNT (تعبير)

في MySQL ، يتم استخدام طريقة COUNT (تعبير) فقط عندما تريد حساب القيم غير الفارغة للعمود 'التعبير'. سيكون 'التعبير' اسم أي عمود. دعونا نأخذ مثالا بسيطا على ذلك. لقد كنا نحسب فقط القيم غير الفارغة لعمود 'موقع الويب' ، والذي يرتبط بعمود 'العمر' الذي له قيمة تساوي '25'. ارى! لدينا فقط 4 سجلات غير فارغة للمستخدمين الذين يبلغون من العمر 25 عامًا والذين يستخدمون مواقع الويب.

>> تحديد عدد (موقع الكتروني) من عند البيانات .اجتماعي أين سن= 25؛

MySQL COUNT (تعبير DISTNCT)

في MySQL ، يتم استخدام طريقة COUNT (تعبير DISTINCT) لجمع القيم غير الخالية والقيم المميزة للعمود 'التعبير'. لحساب عدد مميز من القيم غير الخالية في العمود 'العمر' ، استخدمنا الاستعلام أدناه. ستجد 6 سجلات غير فارغة ومميزة للعمود 'العمر' من الجدول 'اجتماعي'. هذا يعني أن لدينا ما مجموعه 6 أشخاص من مختلف الأعمار.

>> تحديد عدد ( خامد سن) من عند البيانات .اجتماعي؛

MySQL COUNT (IF (تعبير))

للتركيز بشكل كبير ، يجب عليك دمج COUNT () مع وظائف التحكم في التدفق. بالنسبة للمبتدئين ، بالنسبة لجزء من التعبير المستخدم في طريقة COUNT () ، يمكنك استخدام الدالة IF (). قد يكون من المفيد جدًا القيام بذلك لتوفير تحليل سريع للمعلومات داخل قاعدة البيانات. سنحسب عدد الصفوف ذات الشروط العمرية المختلفة ونقسمها إلى ثلاثة أعمدة مختلفة ، والتي يمكن اعتبارها فئات. أولاً ، ستحسب COUNT (IF) الصفوف التي يقل عمرها عن 20 عامًا وتحفظ هذا العدد في عمود جديد باسم 'Teenage'. الثانية COUNT (IF) تحسب الصفوف التي تتراوح أعمارها بين 20 و 30 مع حفظها في عمود 'الشباب'. ثالثًا ، يحسب العدد الأخير الصفوف التي يزيد عمرها عن 30 عامًا ويتم حفظها في عمود 'ناضجة'. لدينا 5 مراهقين ، 9 شباب وشخص ناضج واحد فقط في سجلنا.

>> تحديد عدد ( لو (سن< عشرينو1و باطل ))'سن المراهقة'و عدد ( لو (سن ما بين عشرين و 30و1و باطل ))'صغيرة'و عدد ( لو (سن> 30و1و باطل ))'ناضجة' من عند البيانات .اجتماعي؛

عدد MySQL (*) مع عبارة GROUP BY

عبارة GROUP BY هي تعليمات SQL تستخدم لصفوف المجموعة بنفس القيم. تقوم بإرجاع العدد الإجمالي للقيم الموجودة في كل مجموعة. على سبيل المثال ، إذا كنت تريد التحقق من رقم كل مستخدم على حدة ، فعليك تحديد العمود 'مستخدم' بعبارة 'GROUP BY' أثناء حساب السجلات لكل مستخدم بـ COUNT (*).

>> تحديد مستخدم و عدد (*) من عند البيانات .اجتماعي مجموعة من مستخدم ؛

يمكنك إما تحديد أكثر من عمودين أثناء إجراء عد الصفوف مع عبارة GROUP BY ، على النحو التالي.

>> تحديد مستخدم وسنوموقع الكترونيو عدد (*) من عند البيانات .اجتماعي مجموعة من موقع الكتروني؛

إذا أردنا عد الصفوف أثناء استخدام جملة WHERE التي تحتوي على بعض الشروط جنبًا إلى جنب مع GROUP BY و COUNT (*) ، يمكنك أيضًا القيام بذلك. سيقوم الاستعلام أدناه بجلب سجلات الأعمدة وحسابها: 'المستخدم' و 'الموقع الإلكتروني' و 'العمر' حيث تكون قيمة موقع الويب هي 'Instagram' و 'Snapchat' فقط. يمكنك أن ترى أن لدينا سجلًا واحدًا فقط لكلا الموقعين لمستخدمين مختلفين.

>> تحديد مستخدم وموقع الكترونيوسنو عدد (*) من عند البيانات .اجتماعي أين موقع الكتروني='انستغرام' أو موقع الكتروني='سناب شات' مجموعة من موقع الكترونيوسن؛

MySQL COUNT (*) مع عبارة GROUP BY و ORDER BY

لنجرب الجملتين GROUP BY و ORDER BY بالاشتراك مع طريقة COUNT (). لنجلب ونحصي صفوف الجدول 'اجتماعي' أثناء ترتيب البيانات بترتيب تنازلي باستخدام طلب البحث هذا:

>> تحديد مستخدم وموقع الكترونيوسنو عدد (*) من عند البيانات .اجتماعي مجموعة من سن ترتيب حسب عدد (*) تنازلي ؛

سيحسب الاستعلام المذكور أدناه الصفوف أولاً ، ثم يعرض السجلات الوحيدة التي تحتوي على COUNT أكبر من 2 بترتيب تصاعدي.

>> تحديد مستخدم وسنو عدد (*) من عند البيانات .اجتماعي مجموعة من سن نأخذ عدد (*) > 2 ترتيب حسب عدد (*) ASC ؛

استنتاج

لقد مررنا بجميع الطرق الممكنة لحساب السجلات المتطابقة أو المكررة باستخدام طريقة COUNT () مع عبارات أخرى مختلفة.