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

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

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

Sum על חלק מהתוצאות - SQL

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

    @clickone מה היעילות של IF?
    אני מדבר על טבלאות גדולות עם מאות שאילתות בדקה.

    clickoneC תגובה 1 תגובה אחרונה
    0
    • clickoneC מנותק
      clickoneC מנותק
      clickone
      השיב למנצפך ב נערך לאחרונה על ידי
      #4

      @מנצפך אז ברור שלכאורה הוא לא הכי יעיל בכמויות
      אולי תעשה עוד שאילתה (תצוגה) שמורה, ותחבר בינהם בJOIN

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

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

      upsilon01U תגובה 1 תגובה אחרונה
      1
      • upsilon01U מנותק
        upsilon01U מנותק
        upsilon01
        השיב לclickone ב נערך לאחרונה על ידי upsilon01
        #5

        @clickone למה זה ברור שזה לא יעיל בכמויות?

        הרי זה רק תנאי נוסף באותו לולאה
        זה לא לולאה חדש

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

          אני גם חושב שזה יעיל.

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

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

          תגובה 1 תגובה אחרונה
          2
          • clickoneC מנותק
            clickoneC מנותק
            clickone
            השיב לupsilon01 ב נערך לאחרונה על ידי
            #7

            @upsilon01 כי אתה עושה עליו SUM.
            ז"א, קודם אתה אוסף את הנתונים, לפני הSUM.
            עושה את הIF על כל הנתונים, גם על מה שלא נכלל בתנאי (ימים שהם לא יום ראשון בדוגמא שהוא הביא)
            ובסוף אתה עושה את הSUM על הערכים שחזרו.
            בקצת רשומות ובקשות זה בכלל לא משמעותי. אבל אם יש הרבה בקשות והרבה רשומות אני חשוב שזה טיפה יקר מבחינת ביצועים (לא בדקתי)
            השיטה השנייה שהצעתי, לעשות תצוגה שמורה, יותר יעילה עקרונית, כי קודם נעשה WHERE על הרשומות, ומגיעים רק הרשומות הרלוונטיות, ועליהם נעשה הSUM, ורק אח"כ מחברים אותה לתצוגה הראשית עם JOIN (אפשר כמובן גם עם שאילתת משנה.)

            לא בדקתי את מה שאני כותב לעומק.
            רק תחושת בטן וטיפה מנסיון שזה "נראה" רץ יותר יעיל וזריז.

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

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

            S מנצפךמ 2 תגובות תגובה אחרונה
            2
            • S מנותק
              S מנותק
              Shmuel754
              השיב לclickone ב נערך לאחרונה על ידי Shmuel754
              #8

              @clickone לא נכון.
              הIF אמור להיות מבוצע בשאילתת הSQL.
              אם מתאים התנאי הערך הוא הסכום, ואם לא, 0. והחישוב הוא רק על השדה המחושב שמכיל את הנתונים המחושבים.

              מה שכן שבWHERE שיכניס רק מה שהוא רוצה, ובכך ימנע משליפה מיותרת.

              clickoneC תגובה 1 תגובה אחרונה
              2
              • מנצפךמ מנותק
                מנצפךמ מנותק
                מנצפך
                השיב לclickone ב נערך לאחרונה על ידי
                #9

                @clickone בהצעה שלך יש שאילתה כפולה ומיותרת.
                עדיף לעשות שאילתה אחת ואח"כ לסנן את מה שלא צריך. (ע"י ה IF).
                תחשוב שאתה מקבל את כל הרשימות ואח"כ מסנן אותם בתוכנה, ומחשב SUM.
                זה עדיף מאשר לעשות 2 שאילתות נפרדות.

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

                  מישהו בדק את זה?
                  או שזה השערה?
                  אני כתבתי את התשובה שלי בהשערה. ויכול להיות מאד שאני טועה. (ויכול להיות שגם לא)
                  אם מישהו יכול לעשות בדיקה על מאות אלפי רשומות + בדיקת עומס ולומר מה יותר יעיל ומהיר אשמח.

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

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

                  תגובה 1 תגובה אחרונה
                  1
                  • מנצפךמ מנותק
                    מנצפךמ מנותק
                    מנצפך
                    כתב ב נערך לאחרונה על ידי
                    #11

                    בהמשך אבדוק בעז"ה ואעדכן.

                    תגובה 1 תגובה אחרונה
                    1
                    • clickoneC מנותק
                      clickoneC מנותק
                      clickone
                      השיב לShmuel754 ב נערך לאחרונה על ידי
                      #12

                      @Shmuel754 אתה צודק. אבל הוא רוצה לעשות SUM על הכל, ובנוסף עוד SUM עם תנאי.
                      אז אין לו כאן WHERE.
                      בעצם הSQL אמור קודם לחשב את הכל, ואח"כ לרוץ לעשות SUM.
                      ולכן כתבתי מה שכתבתי.
                      ושוב, לדעתי כדאי שמישהו יעשה בדיקה ויודיענו דבר :smile:

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

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

                      תגובה 1 תגובה אחרונה
                      0
                      • מנצפךמ מנותק
                        מנצפךמ מנותק
                        מנצפך
                        כתב ב נערך לאחרונה על ידי
                        #13

                        @clickone אני רוצה את שני ה SUM עם Where!

                        תגובה 1 תגובה אחרונה
                        0
                        • S מנותק
                          S מנותק
                          Shmuel754
                          כתב ב נערך לאחרונה על ידי
                          #14
                          פוסט זה נמחק!
                          תגובה 1 תגובה אחרונה
                          0

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

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

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