Sum על חלק מהתוצאות - SQL
-
@מנצפך לעשות IF על העמודה השנייה
לדוגמא,IF(day=1,price,0)
כאשר אתה בודק אם התנאי מתאים למה שאתה רוצה, ואם כן אתה מעביר את הסכום, אחרת, אתה מחזיר אפס.
על השדה הזה אתה עושה SUM.שים לב, לגבי הIF, זה תלוי מה המסד שלך.
באקסס זה IIF, בSQL ובMYSQL זה IF
https://www.w3schools.com/sql/func_mysql_if.asp -
@upsilon01 כי אתה עושה עליו SUM.
ז"א, קודם אתה אוסף את הנתונים, לפני הSUM.
עושה את הIF על כל הנתונים, גם על מה שלא נכלל בתנאי (ימים שהם לא יום ראשון בדוגמא שהוא הביא)
ובסוף אתה עושה את הSUM על הערכים שחזרו.
בקצת רשומות ובקשות זה בכלל לא משמעותי. אבל אם יש הרבה בקשות והרבה רשומות אני חשוב שזה טיפה יקר מבחינת ביצועים (לא בדקתי)
השיטה השנייה שהצעתי, לעשות תצוגה שמורה, יותר יעילה עקרונית, כי קודם נעשה WHERE על הרשומות, ומגיעים רק הרשומות הרלוונטיות, ועליהם נעשה הSUM, ורק אח"כ מחברים אותה לתצוגה הראשית עם JOIN (אפשר כמובן גם עם שאילתת משנה.)לא בדקתי את מה שאני כותב לעומק.
רק תחושת בטן וטיפה מנסיון שזה "נראה" רץ יותר יעיל וזריז.