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

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

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

שאילתת SQL חצויה

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

    @dovid
    אולי ניתן לעשות עם UNION.
    או אולי לא ירדתי לסוף דעתו

    תגובה 1 תגובה אחרונה
    0
    • שואףש שואף

      @dovid אמר בשאילתת SQL חצויה:

      אלא"כ עדכנת?

      דווקא אחרי הנפילה של שבוע שעבר הקמתי את השרת מחדש, אבל אני רואה שהברירת מחדל היא 5.7, כך שכנראה זה הגרסא היציבה

      dovidD מנותק
      dovidD מנותק
      dovid
      ניהול
      כתב ב נערך לאחרונה על ידי dovid
      #8

      @שואף אמר בשאילתת SQL חצויה:

      @dovid אמר בשאילתת SQL חצויה:

      אלא"כ עדכנת?

      אבל אני רואה שהברירת מחדל היא 5.7, כך שכנראה זה הגרסא היציבה

      הגירסה היציבה היא 8.0.20 אבל משום מה אובנטו לא זזים מהר, צריך לעשות צעד לפני ההתקנה כדי לרשום את מקור החבילה לגירסה החדשה.
      טוב, אז אתה יכול לשכוח מהפתרון של window functions.

      • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
      • בכל נושא אפשר ליצור קשר dovid@tchumim.com
      yossizY תגובה 1 תגובה אחרונה
      2
      • yossizY מנותק
        yossizY מנותק
        yossiz
        כתב ב נערך לאחרונה על ידי yossiz
        #9

        נסיון לפתור בצורה אחרת:

        SELECT 
        	CONCAT('="', CDR_GLOBAL.src, '"') AS phone, 
        	TRUECALLER.name AS name, 
        	MIN(CDR_GLOBAL.calldate) AS firstCall, 
        	MAX(CDR_GLOBAL.calldate) AS lastCall, 
        	ROUND(SUM(CASE WHEN CDR_GLOBAL.calldate >= '2020-05-01 00:00:00' THEN CDR_GLOBAL.billsec ELSE 0 END)/60) AS minuts, 
        	COUNT(CASE WHEN CDR_GLOBAL.calldate >= '2020-05-01 00:00:00' THEN CDR_GLOBAL.id ELSE null END) AS calls 
        FROM 
        	ICALL.CDR_GLOBAL
        LEFT JOIN 
        	ICALL.TRUECALLER 
        ON 
        	TRUECALLER.phone=CDR_GLOBAL.src 
        WHERE did IN(07212345678,07212345679)
        GROUP BY CDR_GLOBAL.src
        HAVING lastCall >= '2020-05-01 00:00:00'
        ORDER BY calls DESC
        

        האם זה תקין בכלל, (אם לא אשמח ללמוד למה לא) ובמידה וכן האם יש לזה ביצועים יותר טובים?

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

        yossizY תגובה 1 תגובה אחרונה
        3
        • yossizY yossiz

          נסיון לפתור בצורה אחרת:

          SELECT 
          	CONCAT('="', CDR_GLOBAL.src, '"') AS phone, 
          	TRUECALLER.name AS name, 
          	MIN(CDR_GLOBAL.calldate) AS firstCall, 
          	MAX(CDR_GLOBAL.calldate) AS lastCall, 
          	ROUND(SUM(CASE WHEN CDR_GLOBAL.calldate >= '2020-05-01 00:00:00' THEN CDR_GLOBAL.billsec ELSE 0 END)/60) AS minuts, 
          	COUNT(CASE WHEN CDR_GLOBAL.calldate >= '2020-05-01 00:00:00' THEN CDR_GLOBAL.id ELSE null END) AS calls 
          FROM 
          	ICALL.CDR_GLOBAL
          LEFT JOIN 
          	ICALL.TRUECALLER 
          ON 
          	TRUECALLER.phone=CDR_GLOBAL.src 
          WHERE did IN(07212345678,07212345679)
          GROUP BY CDR_GLOBAL.src
          HAVING lastCall >= '2020-05-01 00:00:00'
          ORDER BY calls DESC
          

          האם זה תקין בכלל, (אם לא אשמח ללמוד למה לא) ובמידה וכן האם יש לזה ביצועים יותר טובים?

          yossizY מנותק
          yossizY מנותק
          yossiz
          כתב ב נערך לאחרונה על ידי
          #10

          0c6974fd-9819-4b25-9521-87e3dc96c1a7-image.png
          @שואף מה פירוש ההצבעה?
          נראה לי לפרש כך: "יפה שנזכרת בי עכשיו... כבר עברתי לנושאים אחרים ואין לי כח לחזור לזה שוב..."
          טוב, אני מבין.
          האמת שלא ניסיתי לעזור לך אלא לעצמי כי אני מתחיל גמור ב-SQL ואני מנסה להשתפשף.
          אשמח אם יש לך כח להעיר על הקוד בין לטוב בין למוטב.

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

          שואףש תגובה 1 תגובה אחרונה
          2
          • yossizY yossiz

            0c6974fd-9819-4b25-9521-87e3dc96c1a7-image.png
            @שואף מה פירוש ההצבעה?
            נראה לי לפרש כך: "יפה שנזכרת בי עכשיו... כבר עברתי לנושאים אחרים ואין לי כח לחזור לזה שוב..."
            טוב, אני מבין.
            האמת שלא ניסיתי לעזור לך אלא לעצמי כי אני מתחיל גמור ב-SQL ואני מנסה להשתפשף.
            אשמח אם יש לך כח להעיר על הקוד בין לטוב בין למוטב.

            שואףש מנותק
            שואףש מנותק
            שואף
            כתב ב נערך לאחרונה על ידי
            #11

            @yossiz אהבתי...
            תיכננתי לשבת על זה קצת יותר מאוחר כשאהיה פנוי לא רק להעתיק את השאילתא אלא גם לנתח ולהבין אותה.. בנתיים הצבעתי להודות לך על המאמץ והעזרה..

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

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

            yossizY תגובה 1 תגובה אחרונה
            2
            • שואףש שואף

              @yossiz אהבתי...
              תיכננתי לשבת על זה קצת יותר מאוחר כשאהיה פנוי לא רק להעתיק את השאילתא אלא גם לנתח ולהבין אותה.. בנתיים הצבעתי להודות לך על המאמץ והעזרה..

              yossizY מנותק
              yossizY מנותק
              yossiz
              כתב ב נערך לאחרונה על ידי yossiz
              #12

              @שואף תודה, בלי לחץ.

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

              תגובה 1 תגובה אחרונה
              0
              • dovidD dovid

                @שואף אמר בשאילתת SQL חצויה:

                @dovid אמר בשאילתת SQL חצויה:

                אלא"כ עדכנת?

                אבל אני רואה שהברירת מחדל היא 5.7, כך שכנראה זה הגרסא היציבה

                הגירסה היציבה היא 8.0.20 אבל משום מה אובנטו לא זזים מהר, צריך לעשות צעד לפני ההתקנה כדי לרשום את מקור החבילה לגירסה החדשה.
                טוב, אז אתה יכול לשכוח מהפתרון של window functions.

                yossizY מנותק
                yossizY מנותק
                yossiz
                כתב ב נערך לאחרונה על ידי
                #13

                @dovid אמר בשאילתת SQL חצויה:

                טוב, אז אתה יכול לשכוח מהפתרון של window functions.

                סוף סוף למדתי פחות או יותר מה זה window function.
                לשם לימוד, האם המימוש על ידי window function ייראה כך?

                SELECT 
                	CONCAT('="', CDR_GLOBAL.src, '"') AS phone, 
                	TRUECALLER.name AS name, 
                	MIN(CDR_GLOBAL.calldate) AS firstCall, 
                	MAX(CDR_GLOBAL.calldate) AS lastCall, 
                	ROUND(SUM(CDR_GLOBAL.billsec/60) FILTER (WHERE lastCall >= '2020-05-01 00:00:00') OVER () AS minuts, 
                	COUNT(CDR_GLOBAL.id) FILTER (WHERE lastCall >= '2020-05-01 00:00:00') OVER () AS calls 
                FROM 
                	ICALL.CDR_GLOBAL
                LEFT JOIN 
                	ICALL.TRUECALLER 
                ON 
                	TRUECALLER.phone=CDR_GLOBAL.src 
                WHERE did IN(07212345678,07212345679)
                GROUP BY CDR_GLOBAL.src
                HAVING lastCall >= '2020-05-01 00:00:00'
                ORDER BY calls DESC
                
                

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

                dovidD תגובה 1 תגובה אחרונה
                0
                • yossizY yossiz

                  @dovid אמר בשאילתת SQL חצויה:

                  טוב, אז אתה יכול לשכוח מהפתרון של window functions.

                  סוף סוף למדתי פחות או יותר מה זה window function.
                  לשם לימוד, האם המימוש על ידי window function ייראה כך?

                  SELECT 
                  	CONCAT('="', CDR_GLOBAL.src, '"') AS phone, 
                  	TRUECALLER.name AS name, 
                  	MIN(CDR_GLOBAL.calldate) AS firstCall, 
                  	MAX(CDR_GLOBAL.calldate) AS lastCall, 
                  	ROUND(SUM(CDR_GLOBAL.billsec/60) FILTER (WHERE lastCall >= '2020-05-01 00:00:00') OVER () AS minuts, 
                  	COUNT(CDR_GLOBAL.id) FILTER (WHERE lastCall >= '2020-05-01 00:00:00') OVER () AS calls 
                  FROM 
                  	ICALL.CDR_GLOBAL
                  LEFT JOIN 
                  	ICALL.TRUECALLER 
                  ON 
                  	TRUECALLER.phone=CDR_GLOBAL.src 
                  WHERE did IN(07212345678,07212345679)
                  GROUP BY CDR_GLOBAL.src
                  HAVING lastCall >= '2020-05-01 00:00:00'
                  ORDER BY calls DESC
                  
                  
                  dovidD מנותק
                  dovidD מנותק
                  dovid
                  ניהול
                  כתב ב נערך לאחרונה על ידי
                  #14

                  @yossiz ככה להביך אותי מול כולם...

                  • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
                  • בכל נושא אפשר ליצור קשר dovid@tchumim.com
                  yossizY תגובה 1 תגובה אחרונה
                  0
                  • dovidD dovid

                    @yossiz ככה להביך אותי מול כולם...

                    yossizY מנותק
                    yossizY מנותק
                    yossiz
                    כתב ב נערך לאחרונה על ידי
                    #15

                    @dovid למה הבכתי אותך? גם אתה רמזת שיש פתרון על ידי window functions רק שזה לא יעזור ל-@שואף כי גירסת ה-mysql שלו לא תומכת בזה.

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

                    dovidD תגובה 1 תגובה אחרונה
                    0
                    • yossizY yossiz

                      @dovid למה הבכתי אותך? גם אתה רמזת שיש פתרון על ידי window functions רק שזה לא יעזור ל-@שואף כי גירסת ה-mysql שלו לא תומכת בזה.

                      dovidD מנותק
                      dovidD מנותק
                      dovid
                      ניהול
                      כתב ב נערך לאחרונה על ידי
                      #16

                      @yossiz יש הבדל בין רק לדעת שזה יעזור, לבין לדעת איך לכתוב עם זה...

                      • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
                      • בכל נושא אפשר ליצור קשר dovid@tchumim.com
                      yossizY תגובה 1 תגובה אחרונה
                      0
                      • dovidD dovid

                        @yossiz יש הבדל בין רק לדעת שזה יעזור, לבין לדעת איך לכתוב עם זה...

                        yossizY מנותק
                        yossizY מנותק
                        yossiz
                        כתב ב נערך לאחרונה על ידי yossiz
                        #17

                        @dovid אם כן זה בסדר... תשקיע רבע מהזמן שאני השקעתי/בזבזתי ותגיע לשם...

                        אגב, פרעתי לך היום חוב ישן:
                        @yossiz אמר בפילוח נתונים ב mySQL:

                        טוב, יום אחד כשאלמד SQL אחזור לזה ואבין.

                        חזרתי לשם והבנתי, אז תודה!

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

                        תגובה 1 תגובה אחרונה
                        3
                        תגובה
                        • תגובה כנושא
                        התחברו כדי לפרסם תגובה
                        • מהישן לחדש
                        • מהחדש לישן
                        • הכי הרבה הצבעות


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

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

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