איטיות ב SUM ב MYSQL
-
@יוס אמר באיטיות ב SUM ב MYSQL:
ולשם כך אני מריץ לולאה על טבלת התלמידים
ועל כל תלמיד אני מבצע שאילתת SUM כמה דפים יש לו בטבלת הבחינותעל פניו נראה לי כפילות מיותרת להשתמש בלולאה וגם בשאילתת קיבוץ ביחד, כשלכאורה שאילתא לבד זה מספיק לפתרון הבעיה.
אבל אני מציע לך לצרף לשאלה את נוסח השאילתא ועוד נתונים (סוג שדות, מספר רשומות בטבלה) יהיה יותר קל לעזור לך. -
תודה על ההיענות
אני מצרף דוגמה למה שאני מבצע
$select = "SELECT * FROM `clientes` ORDER BY `clientes`.`last_name` ASC"; mysqli_fun($host,$username,$password,$dbname,$select ); $result_clientes = mysqli_query($link,$select ); while ($array = mysqli_fetch_assoc($result_clientes)) { $sql = "SELECT SUM(`score`) FROM `score` WHERE `pupil` = $array[id]"; mysqli($host,$username,$password,$dbname,$sql); }
אציין שהאינדקס היחיד זה מזהה התלמיד (id) בטבלת התלמידים
תודה רבה
-
@יוס אמר באיטיות ב SUM ב MYSQL:
מזהה התלמיד
לפי השאילתה נראה שהאינדקס בטבלת המבחנים אמור להיות על
pupil
.
זה אמור דבר ראשון להקל על השאילתה. עזרה ראשונה..
במקביל תוכל גם לשנות במקום לולאה של שאילתאות עבור הסכום של כולם, תוכל לעשות שאילתה כזו:SELECT SUM(`score`), `pupil` FROM `score`GROUP BY `pupil`
כך תקבל בשאילתה אחת טבלה ובה 2 עמודות, עמודת הסכום ועמודת התלמיד, לכל תלמיד הסכום שלו.