DCSIMG
Group By - גרי רשף

Browse by Tags

All Tags » Group By (RSS)
משימה סבוכה עמה התמודדתי לאחרונה: יש טבלה הכוללת סיכומים בפירוט יומי לחשבונות בנק שונים: סה"כ תנועות זכות, סה"כ תנועות חובה, ויתרת סגירה; כל זה כאמור- לגבי כל חשבון לגבי כל יום במהלך השנים האחרונות. טבלה די גדולה. בטבלה יש למצוא את כל החשבונות הרדומים- אלו שבשנה האחרונה לא היו בהם תנועות אבל לפני כן, ולציין מה תאריך התנועה האחרון (אי שם לפני למעלה משנה). שפת SQL היא שפה די אינטואיטיבית למי שמתרגל אליה מכיוון שזו שפה דקלרטיבית ולא פרוצדוראלית, ולעיתים פקודת ה-SQL נראית כמעט כמו הניסוח המילולי...
לא, לא מדובר בהתיישבות העובדת, אלא באופציות כדוגמת Group By והשימושים השונים בהן. השימוש ב-Group By אמור להיות מוכר לכל מי שמכיר SQL גם ברמה בסיסית: Use AdventureWorks; Go Select uid, type, parent_obj, sysstat, Max (crdate) Mx_crdate, Count (name) Cnt_name From sys.sysobjects -- Where crdate>= '20100101' Group By uid, type, parent_obj, sysstat -- Having Count (name)<10; בדוגמה הנ"ל הערתי (to comment) את שתי שורות התנאי שצירפתי כדי להמחיש את ההבדל בין תנאים על הנתונים עצמם לפי ביצוע...