דירוג משוכלל שאלת הבנה

לא ברור לי איזה שאילתא לבנות בשאלה הזאת, האם הכוונה לבנות שאילתא שמוסיפה את הדירוג המשוכלל?

בשאילתה יש להוסיף “עמודה מחושבת”.
לפי ההסבר במחברת - לצאת משדה avg_vote ולהוסיף עוד נקודות לפי מספר המצביעים.

לייק 1

בניגוד לשפת תכנות רגילה ששם יכולתי לשמור את הערכים במשתנים ולהשתמש בתנאים פה לא למדנו איך לעשות זאת…
ובנוסף הנוסחה שכתבתי יוצרת שורה ארוכה ואני מקבל הערה.
אשמח לעזרה

  • המערכת יודעת להתייחס לערך בשורה לפי שם העמודה של הטבלה.
  • ניתן פשוט לרדת שורה (לשבור שורה), הבודק האוטומטי מעדיף בלי רווח בסוף השורה.
    אם תעלה את ה"שורה" שנוצרה לך… נוכל לתת רעיונות.
    אבל במחברת יש דוגמה די טובה.

נ.ב.
כרגע אני כותב בעבודה, לדוגמה…

a.wrklng||’’-’’||a.wrknbr||’’/’’||CHAR(DIGITS(a.vrsion),3) +
as prod_num

איחוד 3 שדות עם תוים בינהם כדי להציג כשדה אחד.
שבירה מאוד מוקדמת, כי אורך שורה אצלנו קצר להחריד.

2 לייקים

שברתי את השורה של החישוב,
והשורה השנייה מתחילה ב+ וקיבלתי את ההערה הבאה:
הבודק האוטומטי: Indent expected and not found compared to line #1

מצפה לראות אינדנטציה יחסית לשורה הקודמת.

where you go to see
____and smell the flowers

לייק 1

הפלוס שלי מתחיל מאותו מקום שבו מתחיל ה-SELECT שהוא בשורה מעליו

אז תן ב-TAB.
שוב, זה רק בשביל שיהיה לך קל יותר לקרוא.

לייק 1

אהה אוקיי חשבתי שדווקא לא צריך פה אינדנטקציה,
תודה רבה!

שאלה נוספת, רציתי לדעת אם יש אפשרות לשמור ערך במשתנה נגיד var_votes ואז אני יכול להוריד ממנו כל פעם את מס’ ההצבעות שכבר חושבו, כלומר בהתחלה אני מוריד מאה אלף הצבעות , כי כבר השתמשתי בהם בשביל להעלות ב0.2 את הדירוג וכן הלאה.

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

לייק 1

אמורים להשתמש בתרגיל במשהו שלא נלמד במחברת 1?

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

אין צורך להשתמש במשהו שלא נלמד.
אתה צריך לחשוב את הנוסחא שאתה מרכיב לפי הסדר ההגיוני שלה,
SQLite כבר ידע לעשות לך את ה"שמירה" בתהליך עצמו של החישוב.

2 לייקים