דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. שאילתא של כניסות חדשות

שאילתא של כניסות חדשות

מתוזמן נעוץ נעול הועבר תכנות
21 פוסטים 5 כותבים 301 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • clickoneC מנותק
    clickoneC מנותק
    clickone
    השיב לdovid ב נערך לאחרונה על ידי clickone
    #5

    @dovid הבעייה שיכול להיות שיום הוא התקשר פעמיים
    ואז הCOUNT לא עוזר 😮

    אין טסט כמו פרודקשן.

    המייל שלי urivpn@gmail.com

    תגובה 1 תגובה אחרונה
    1
    • dovidD מנותק
      dovidD מנותק
      dovid ניהול
      כתב ב נערך לאחרונה על ידי
      #6

      @clickone אם אכן זה מה שהוא רוצה אז אתה צודק, והנה אם כן:

      SELECT  *  
      FROM TABLE
      GROUP BY TABLE.Phone
      HAVING MIN(TABLE.AT) >= CURDATE()
      

      מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

      בכל נושא אפשר ליצור קשר dovid@tchumim.com

      תגובה 1 תגובה אחרונה
      3
      • שואףש מנותק
        שואףש מנותק
        שואף
        כתב ב נערך לאחרונה על ידי שואף
        #7

        @dovid תודה רבה רבה!!!
        עובד נפלא

        ליצירת קשר: admin@i-call.me

        הידד! גישה למייל גם בלי מחשב ואינטרנט!

        תגובה 1 תגובה אחרונה
        0
        • שואףש מנותק
          שואףש מנותק
          שואף
          כתב ב נערך לאחרונה על ידי
          #8

          אני מנסה לעשות count לקבלת הסכום הכללי (התוצאות של המספרים לא מעניינים אותי כרגע), וזה לא תופס. זה מחזיר רשימה ארוכה של מספרים בלי קשר.

          SELECT count(id) FROM asteriskcdrdb.cdr GROUP BY cdr.src HAVING MIN(cdr.calldate) >= CURDATE()
          

          ליצירת קשר: admin@i-call.me

          הידד! גישה למייל גם בלי מחשב ואינטרנט!

          תגובה 1 תגובה אחרונה
          0
          • dovidD מנותק
            dovidD מנותק
            dovid ניהול
            כתב ב נערך לאחרונה על ידי dovid
            #9

            כי אתה עושה count על כל קבוצה.
            תעשה count מסביב לשאילתה כולה:

            SELECT COUNT(*) FROM 
            (
               SELECT id
               FROM asteriskcdrdb.cdr 
               GROUP BY cdr.src 
               HAVING MIN(cdr.calldate) >= CURDATE()
            ) AS subQuery
            

            מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

            בכל נושא אפשר ליצור קשר dovid@tchumim.com

            תגובה 1 תגובה אחרונה
            2
            • שואףש מנותק
              שואףש מנותק
              שואף
              כתב ב נערך לאחרונה על ידי
              #10

              @dovid נפלא

              עכשיו אני מנסה להגביל את זה לפי תנאי מסוים, שיהיה תואם לשם מערכת (יש לי כמה מערכות על אותה מרכזיה, ואני רוצה לדעת למערכת הספציפית הזו כמה חדשים נכנסו.
              ויש דבר מעניין. אם אני מגביל עם WHERE יוצא תוצאה אחת, ואם אני מגביל בHAVING יוצא משהו אחר.
              אני מבין שהחישוב כנראה מתבצע בצורה אחרת, אבל איך אפשר לדעת מה התוצאה האמיתית

              SELECT * FROM asteriskcdrdb.cdr GROUP BY cdr.src HAVING MIN(cdr.calldate) >= CURDATE() AND dcontext='XXX'
              
              SELECT * FROM asteriskcdrdb.cdr WHERE dcontext='XXX' GROUP BY cdr.src HAVING MIN(cdr.calldate) >= CURDATE()
              

              ליצירת קשר: admin@i-call.me

              הידד! גישה למייל גם בלי מחשב ואינטרנט!

              dovidD תגובה 1 תגובה אחרונה
              0
              • dovidD מנותק
                dovidD מנותק
                dovid ניהול
                השיב לשואף ב נערך לאחרונה על ידי dovid
                #11

                WHERE זה תנאי על רמת שורה, זה מתבצע לפני הקיבוץ.
                ואילו HAVING מתבצע ברמת קיבוץ. כלומר אחרי הקיבוץ כלול רק שורות שאחרי הקיבוץ יעמדו בתנאי כל שהוא.

                מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                בכל נושא אפשר ליצור קשר dovid@tchumim.com

                תגובה 1 תגובה אחרונה
                4
                • שואףש מנותק
                  שואףש מנותק
                  שואף
                  כתב ב נערך לאחרונה על ידי
                  #12

                  ממילא פשוט שצריך לעשות WHERE
                  תודה רבה עזרת לי מאוד

                  אף פעם לא התעמקתי בפונקציות המתקדמות של MYSQL...

                  ליצירת קשר: admin@i-call.me

                  הידד! גישה למייל גם בלי מחשב ואינטרנט!

                  dovidD תגובה 1 תגובה אחרונה
                  0
                  • dovidD מנותק
                    dovidD מנותק
                    dovid ניהול
                    השיב לשואף ב נערך לאחרונה על ידי
                    #13

                    @שואף זה בכלל לא מתקדמות.
                    זה נחשב בסיס, יש באמת פונקציות מתקדמות כמו פונקציות חלון וWITH ועוד.

                    מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                    בכל נושא אפשר ליצור קשר dovid@tchumim.com

                    תגובה 1 תגובה אחרונה
                    4
                    • שואףש מנותק
                      שואףש מנותק
                      שואף
                      כתב ב נערך לאחרונה על ידי שואף
                      #14

                      הייתי צריך לשלב עוד שתי שאילתות.
                      אני צריך את רשימת המשתמשים, עם סך ההתקשרויות שלהם, ואורך הכולל של השיחות שלהם.
                      עשיתי count(src) מניח שככה זה צריך להיות, נכון?

                      SELECT src, count(src), sum(billsec) 
                      FROM asteriskcdrdb.cdr 
                      WHERE dcontext='telecall' 
                      GROUP BY cdr.src 
                      HAVING MIN(cdr.calldate) >= CURDATE()
                      

                      ליצירת קשר: admin@i-call.me

                      הידד! גישה למייל גם בלי מחשב ואינטרנט!

                      תגובה 1 תגובה אחרונה
                      2
                      • dovidD מנותק
                        dovidD מנותק
                        dovid ניהול
                        כתב ב נערך לאחרונה על ידי dovid
                        #15

                        נראה טוב.

                        מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                        בכל נושא אפשר ליצור קשר dovid@tchumim.com

                        תגובה 1 תגובה אחרונה
                        2
                        • שואףש מנותק
                          שואףש מנותק
                          שואף
                          כתב ב נערך לאחרונה על ידי
                          #16

                          @dovid נפלתי עליך...
                          אני משכלל את הפקודה לאט לאט, ועכשיו רציתי לשלב את שמות המתקשרים
                          יש לי טבלא בשם NAMES, עם שתי שדות, name וphone.יש שם מאגר גדול של מספרים, עם השם שלהם.
                          אני רוצה לעשות שאילתא של המתקשרים החדשים, כנ"ל, עם השם שלהם.
                          עשיתי INNER JOIN, וזה תוקע את המעבד, מקפיץ את הCPU ולא מחזיר כלום
                          כנראה טעיתי, אשמח שתכוון אותי

                          SELECT cdr.src, NAMES.name FROM cdr
                          INNER JOIN NAMES ON NAMES.phone=cdr.src
                          GROUP BY cdr.src
                          HAVING MIN(cdr.calldate) >= CURDATE();
                          

                          תודה רבה

                          ליצירת קשר: admin@i-call.me

                          הידד! גישה למייל גם בלי מחשב ואינטרנט!

                          dovidD תגובה 1 תגובה אחרונה
                          0
                          • dovidD מנותק
                            dovidD מנותק
                            dovid ניהול
                            השיב לשואף ב נערך לאחרונה על ידי
                            #17

                            @שואף אני לא רואה בעיה בשאילתה שלך (למעט שכנראה אתה רוצה LEFT JOIN ולא INNER).
                            הסיבה שלא מחזיר כלום זה כי אין התאמה לכאורה..
                            מה טיפוסי השדות של cdr ושל phone, שניהם varchare? שניהם מאונדקסים?

                            מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                            בכל נושא אפשר ליצור קשר dovid@tchumim.com

                            תגובה 1 תגובה אחרונה
                            0
                            • שואףש מנותק
                              שואףש מנותק
                              שואף
                              כתב ב נערך לאחרונה על ידי
                              #18

                              נפלא, תודה רבה
                              כנראה הבעייה היתה האינדקס, ששניהם היו צריכים להיות מאונדקסים

                              ליצירת קשר: admin@i-call.me

                              הידד! גישה למייל גם בלי מחשב ואינטרנט!

                              yossizY תגובה 1 תגובה אחרונה
                              0
                              • yossizY מנותק
                                yossizY מנותק
                                yossiz
                                השיב לשואף ב נערך לאחרונה על ידי
                                #19

                                @שואף חסרון אינדקס יכול לשנות את התשובה? חשבתי שזה רק משפר ביצועים.

                                📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

                                שואףש dovidD 2 תגובות תגובה אחרונה
                                0
                                • שואףש מנותק
                                  שואףש מנותק
                                  שואף
                                  השיב לyossiz ב נערך לאחרונה על ידי
                                  #20

                                  @yossiz אמר בשאילתא של כניסות חדשות:

                                  @שואף חסרון אינדקס יכול לשנות את התשובה? חשבתי שזה רק משפר ביצועים.

                                  גם אני חשבתי.. בדרך כלל זה רק מחזיר יותר לאט

                                  ליצירת קשר: admin@i-call.me

                                  הידד! גישה למייל גם בלי מחשב ואינטרנט!

                                  תגובה 1 תגובה אחרונה
                                  1
                                  • dovidD מנותק
                                    dovidD מנותק
                                    dovid ניהול
                                    השיב לyossiz ב נערך לאחרונה על ידי
                                    #21

                                    אכן עצם התשובה השונה לא תיתכן בגלל העדר האינדקס.

                                    מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                                    בכל נושא אפשר ליצור קשר dovid@tchumim.com

                                    תגובה 1 תגובה אחרונה
                                    1

                                    • 1
                                    • 2
                                    בא תתחבר לדף היומי!
                                    • התחברות

                                    • אין לך חשבון עדיין? הרשמה

                                    • התחברו או הירשמו כדי לחפש.
                                    • פוסט ראשון
                                      פוסט אחרון
                                    0
                                    • דף הבית
                                    • קטגוריות
                                    • פוסטים אחרונים
                                    • משתמשים
                                    • חיפוש
                                    • חוקי הפורום