عندما كان لي مشكلة مماثلة، انتهى بي الأمر باستخدام الجداول تيمب لمجموعة متنوعة من الأسباب، لكنه جعل هذا أسهل كثيرا ما فعلت تبدو مشابهة جدا لما تقوم به، بقدر ما يذهب المخطط. جعل المخطط شيء مثل هوية الهوية، بدء، نهاية، قيمة. عند تحديد، قم بتحديد متوسط فرعي لل 20 السابق استنادا إلى معرف الهوية. لا تفعل ذلك إلا إذا وجدت نفسك تستخدم جداول درجة الحرارة لأسباب أخرى على الرغم من ذلك (لقد ضربت الصفوف نفسها مرارا وتكرارا لمقاييس مختلفة، لذلك كان من المفيد الحصول على مجموعة البيانات الصغيرة). في تجربتي، ميسكل اعتبارا من 5.5.x تميل إلى عدم استخدام الفهارس على اختيار التابعة، سواء الاستعلام الفرعي أو الانضمام. وهذا يمكن أن يكون له تأثير كبير جدا على الأداء حيث تتغير معايير اختيار التابعة على كل صف. المتوسط المتحرك هو مثال لطلب بحث يقع ضمن هذه الفئة. قد يزيد وقت التنفيذ مع مربع الصفوف. لتجنب ذلك، اختار محرك قاعدة البيانات التي يمكن أن تؤدي فحوصات مفهرسة على اختيار تعتمد. أجد بوستجرس يعمل بشكل فعال لهذه المشكلة. أجاب على جول 2 14 في 8:01 يور أنسور 2017 ستاك إكسهانج، ناقشنا سابقا كيفية كتابة المتوسطات المتداول في بوستغريز. من قبل الطلب الشعبي كانت تظهر لك كيفية القيام بنفس الشيء في الخلية و سكل سيرفر. حسنا تغطية كيفية شرح الرسوم البيانية صاخبة مثل هذا: مع 7 أيام السابق خط المتوسط مثل هذا: فكرة كبيرة الرسم البياني الأول أعلاه هو صاخبة جدا ويصعب الحصول على معلومات مفيدة من. يمكننا أن نلمس بها من خلال التآمر متوسط 7 أيام على رأس البيانات الأساسية. ويمكن القيام بذلك مع وظائف النافذة، والانضمام الذاتي، أو الاستعلامات الفرعية المرتبطة - تغطية جيدا الأولين. بداية جيدة بمتوسط سابق، مما يعني أن متوسط النقطة في 7 من الشهر هو متوسط الأيام السبعة الأولى. بصريا هذا يغير طفرات في الرسم البياني إلى اليمين، كما متوسط ارتفاع كبير على مدى سبعة أيام التالية. أولا، إنشاء جدول عدد متوسط نريد حساب متوسط على إجمالي الاشتراكات لكل يوم. على افتراض أن لدينا جدول مستخدمين نموذجيين مع صف لكل مستخدم جديد وإنشاء الطابع الزمني، يمكننا إنشاء مجموعتنا جدول الاشتراك لدينا مثل ذلك: في بوستغريز و سكل سيرفر يمكنك استخدام هذا كتف. في ميسكل يمكنك حفظه كجدول مؤقت. بوستغريز متوسط المتداول لحسن الحظ بوستغريز ديه وظائف النافذة التي هي أبسط طريقة لحساب المتوسط الجاري. يفترض هذا الاستعلام أن التواريخ ليس لديها ثغرات. يتم حساب متوسط الاستعلام خلال الصفوف السبعة الماضية، وليس التواريخ السبعة الماضية. إذا كان لديك بيانات الثغرات، وملء لهم في جينيراتريزيز أو الانضمام ضد جدول مع صفوف التاريخ الكثيفة. ميسكل المتداول متوسط الخلية يفتقر وظائف النافذة، ولكن يمكننا أن نفعل حساب مماثل باستخدام الذاتي للانضمام. لكل صف في جدول العد، نلتحق بكل صف كان في غضون الأيام السبعة الماضية ونأخذ المتوسط. يعالج هذا الاستعلام تلقائيا الفجوات الزمنية، حيث إننا ننظر إلى الصفوف ضمن نطاق زمني بدلا من الصفوف N السابقة. سكل سيرفر المتداول متوسط سكل سيرفر ديه وظائف النافذة، لذلك يمكن حساب متوسط المتداول في إما نمط بوستغريز أو أسلوب ميسكل. للبساطة، كانت تستخدم نسخة ميسكل مع الانضمام الذاتي. هذا هو من الناحية المفاهيمية كما هو الحال في الخلية. الترجمات الوحيدة هي وظيفة التاريخ وتسمية المجموعة بشكل صريح حسب الأعمدة. المتوسطات الأخرى ركزنا على المتوسط الزائد لمدة 7 أيام في هذه المشاركة. إذا أردنا أن ننظر إلى المتوسط الرئيسي لمدة 7 أيام، وبسيطة مثل فرز التواريخ في الاتجاه الآخر. إذا أردنا أن ننظر إلى متوسط تركز، استخدام ويد: بوستغريز: الصفوف بين 3 السابقة و 3 التالية ميسكل: بين signs. date - 3 و signup. date 3 في الخلية خادم سكل: بين التاريخ (يوم، -3، والاشتراكات. ديت) و ديتاد (يوم، 3، signups. date) استخدام المتوسط المتحرك البسيط لتسهيل البيانات هو تقنية شعبية إلى حد ما. في حالة سيئة جدا المثال الأساسي في تعليمات سكل أنيوهير أبعد ما تكون عن البساطة: ما يجعل هذا المثال معقدا جدا إلى جانب بيان المشكلة، أي: حساب المتوسط المتحرك لجميع مبيعات المنتجات، حسب الشهر، في عام 2000. هيريس ما يجعل معقد: مرجعان إلى وظيفة أفغ ()، غروب بي (والتي كلها في حد ذاته يجعل فقط عن أي سيليكت رأس خدش)،. شرط نافذة الشبح شرط نافذة لا حتى استخدام الكلمة ويندو. لذلك إلى أونينيتيتد (الناس الذين يحتاجون إلى أمثلة أكثر من أي شخص آخر) فإنه ليس من الواضح أن نافذة تشارك على الإطلاق. ليس فقط أي شرط نافذة، العقل لك، ولكن واحد الذي يتضمن كل مكون واحد يمكنك التعليمات البرمجية في نافذة: جزء من قبل، شرط مجموعة. ليس شرطا بسيطا ولكن شرطا كاملا رانج، أحدهما له علاقة وثيقة مع أوردر بي. أعرف ما هو الصف، ولكن ما هو ريداكتد هو رانج ولكن الانتظار، ثيريس أكثر: اختيار رانج فوق روز في هذا المثال أمر بالغ الأهمية لعملية الاستعلام الصحيح. (للاطلاع على مناقشة أكثر اكتمالا لهذا المثال بعينه، انظر المثال 23 - حساب متوسط متحرك في جلين بوليس ممتاز أولاب ورقة بيضاء.) الآن، دعونا نعود إلى المسار الصحيح: متوسط متحرك بسيط حقا حقا يعرض المثال التالي 10 يوما بقيمة البيانات جنبا إلى جنب مع المتوسط المتحرك لقيمة اليوم وأيام الأمس: يحدد بند ويندوستس على الخطوط من 21 إلى 23 نافذة متحركة تحتوي على صفين: صف اليوم (الصف الحالي) وصف الأمس (1 بريسدينغ): يحدد أمر النافذة حسب البند يعني بريسدينغ (الصف السابق من قبل t. entrydate) وروز بند يحدد حجم النافذة (دائما صفين). يشير التعبير أفغ (t. value) أوفر توديس على الخط 19 إلى بند ويندو بالاسم، ويخبر سكل في أي مكان لحساب متوسط قيمتي t. value الموجودة في نافذة انزلاق الصفين، لكل صف في مجموعة النتائج. لذلك، بالنسبة لمعدل 2012-02-02 كان المتوسط 10 و 20 هو 15.000000، للفترة 2012-02-03 كان متوسط 20 و 10 هو 15.000000، للفترة 2012-02-04 متوسط 10 و 30 هو 20.000000، 02-10 متوسط 10 و 60 هو 35.000000. عفوا، ماذا عن الصف الأول صف 2012-02-01 لا يوجد صف بريسدينغ، لذلك ما هو المتوسط عبر النافذة المتحركة وفقا لجلين باوليس ورقة بيضاء في حالة نافذة متحركة، فمن المفترض أن الصفوف التي تحتوي على نول توجد قيم قبل الصف الأول، وبعد الصف الأخير، في الإدخال. وهذا يعني عندما يكون الإطار المتحرك 2012-02-01 كما رو الحالي، 1 بريسدينغ الصف يحتوي على قيم نول. وعندما يحسب سكل في أي مكان أفغ () يتضمن قيمة نول، فإنه لا تعول نول على الإطلاق. وليس في البسط أو في المقام عند حساب المتوسط. هيريس بروف: ثاتس لماذا توديايافيراج 10.000000 للصف الأول 2012-02-01. مشاركة بريك كارتر في 3:47 بيإم
Comments
Post a Comment