ספירת MySQL התאמת רשומות עם COUNT

Mysql Count Matching Records With Count



יתירות נתונים מתרחשת מהרבה סיבות. כמה מן החובות המסובכות שעליהן עליך להתמודד בעת עבודה עם מערכות מסדי נתונים מנסה לגלות ערכים כפולים. לשם כך נשתמש בשיטת הצבירה COUNT (). שיטת COUNT () מחזירה את סכום השורות השוכנות בטבלה ספציפית. הפונקציה COUNT () מאפשרת לך לסכם את כל השורות או רק השורות התואמות את התנאי שהוגדר. במדריך זה תוכלו ללמוד כיצד לזהות ערכים כפולים עבור עמודת MySQL אחת או אולי יותר באמצעות COUNT (). לשיטת COUNT () יש שלושת הסוגים הבאים:

  • לספור(*)
  • COUNT (ביטוי)
  • COUNT (ביטוי DISTINCT)

ודא שיש לך MySQL מותקן במערכת שלך. פתח את מעטפת לקוח שורת הפקודה MySQL והזן את הסיסמה שלך כדי להמשיך. נבחן כמה דוגמאות לספירת ערכי ההתאמה בשיטת COUNT ().









יש לנו טבלה 'חברתית' בסכימת 'הנתונים' שלנו. בואו לבדוק את הרשומה שלו באמצעות השאילתה הבאה.



>> בחר * מ נתונים .חֶברָתִי;





ספירת MySQL (*)

שיטת COUNT (*) משמשת לספירת מספר השורות השוכנות בטבלה או לספירת מספר השורות בהתאם לתנאי הנתון. כדי לבדוק את המספר הכולל של השורות בטבלה, 'חברתי' נסה את השאילתה שלהלן. יש לנו בסך הכל 15 שורות בטבלה בהתאם לתוצאה.

>> בחר לספור (*) מ נתונים .חֶברָתִי;



הצצה לשיטת COUNT (*) תוך הגדרת תנאים מסוימים. עלינו להביא את מספר השורות שבהן שם המשתמש זהה ל'מוסטפא '. אתה יכול לראות שיש לנו רק 4 רשומות בשם הספציפי הזה.

>> בחר לספור (*) מ נתונים .חֶברָתִי איפה מִשׁתַמֵשׁ ='מוסטפה';

כדי להביא את סך השורות שבהן אתר המשתמשים הוא 'אינסטגרם', נסה את השאילתה המפורטת להלן. הטבלה 'חברתית' כוללת רק 4 רשומות לאתר 'אינסטגרם'.

>> בחר לספור (*) מ נתונים .חֶברָתִי איפה אתר אינטרנט='אינסטגרם';

כדי לאחזר את מספר השורות הכולל שבו 'הגיל' גדול מ -18 הוא כדלקמן:

>> בחר לספור (*) מ נתונים .חֶברָתִי איפה גיל> 18;

בואו נביא את נתוני העמודות 'משתמש' ו'אתר 'מתוך טבלה, שם שם המשתמש מתחיל באלף בית' M '. נסה את ההוראה שלהלן על הקליפה.

>> בחר מִשׁתַמֵשׁ ,אתר אינטרנט מ נתונים .חֶברָתִי איפה מִשׁתַמֵשׁ כמו 'M%';

MySQL COUNT (ביטוי)

ב- MySQL, שיטת COUNT (הביטוי) משמשת רק כאשר אתה רוצה לספור ערכים שאינם Null של העמודה 'ביטוי'. 'הביטוי' יהיה שמו של כל עמודה. הבה ניקח דוגמא פשוטה לכך. ספרנו רק את הערכים הלא-מבוטלים של העמודה 'אתר', שקשורה לעמודה 'גיל' בעלת ערך ששווה ל-'25 '. לִרְאוֹת! יש לנו רק 4 רשומות שאינן בטלות עבור המשתמשים בגיל 25 'המשתמשים באתרים.

>> בחר לספור (אתר אינטרנט) מ נתונים .חֶברָתִי איפה גיל= 25;

MySQL COUNT (ביטוי DISTNCT)

ב- MySQL, שיטת COUNT (ביטוי DISTINCT) משמשת לסיכום ערכים שאינם Null וערכים נפרדים של העמודה 'ביטוי'. כדי לספור מספר מובהק של ערכים שאינם מבוטלים בעמודה 'גיל' השתמשנו בשאילתה שלהלן. תוכלו למצוא 6 רשומות שאינן בטלות ומובחנות של העמודה 'גיל' מהטבלה 'חברתית'. המשמעות היא שיש לנו בסך הכל 6 אנשים בגילאים שונים.

>> בחר לספור ( מוּבהָק גיל) מ נתונים .חֶברָתִי;

ספירת MySQL (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 (*), תוכל גם לעשות זאת. השאילתה שלהלן תביא ותספור את רשומות העמודות: 'משתמש', 'אתר' ו'גיל 'כאשר ערך האתר הוא' אינסטגרם 'ו'סנפצ'אט' בלבד. אתה יכול לראות שיש לנו רק רשומה אחת עבור שני האתרים עבור משתמשים שונים.

>> בחר מִשׁתַמֵשׁ ,אתר אינטרנט,גיל, לספור (*) מ נתונים .חֶברָתִי איפה אתר אינטרנט='אינסטגרם' אוֹ אתר אינטרנט='סנאפצ'ט' קבוצה לפי אתר אינטרנט,גיל;

ספירת MySQL (*) עם סעיף GROUP BY ו- ORDER BY

ננסה את הסעיפים GROUP BY ו- ORDER BY במשותף בשיטת COUNT (). בואו נביא ונמנה את שורות הטבלה 'חברתיות' תוך סידור הנתונים בסדר יורד באמצעות שאילתה זו:

>> בחר מִשׁתַמֵשׁ ,אתר אינטרנט,גיל, לספור (*) מ נתונים .חֶברָתִי קבוצה לפי גיל מיין לפי לספור (*) DESC ;

השאילתה המוצגת למטה תחילה תספור את השורות, ולאחר מכן תציג את הרשומות היחידות בעלות COUNT גדול מ -2 בסדר עולה.

>> בחר מִשׁתַמֵשׁ ,גיל, לספור (*) מ נתונים .חֶברָתִי קבוצה לפי גיל יש לספור (*) > 2 מיין לפי לספור (*) ASC ;

סיכום

עברנו את כל השיטות האפשריות לספור את הרשומות התואמות או כפולות בשיטת COUNT () עם סעיפים אחרים.