برای محاسبه میانگین فاصله زمانی بین خرابیها و میانگین مدت زمان خرابی در جدول داده شده، میتوانید از دستورات SQL استفاده کنید. در ادامه، نحوه انجام این محاسبات با استفاده از SQL Server به شما نشان داده میشود:
میانگین فاصله زمانی بین خرابیها:
SELECT AVG(DATEDIFF(DAY, LAG([تاریخ خرابی]) OVER (ORDER BY [تاریخ خرابی]), [تاریخ خرابی])) AS 'میانگین فاصله زمانی بین خرابیها'
FROM [نام جدول]
WHERE LAG([تاریخ خرابی]) OVER (ORDER BY [تاریخ خرابی]) IS NOT NULL;
این کوئری از تابع LAG برای دریافت تاریخ خرابی قبلی هر ردیف استفاده میکند و سپس با تابع DATEDIFF تفاوت زمانی بین دو خرابی را محاسبه میکند و در نهایت میانگین این مقادیر را محاسبه میکند.
میانگین مدت زمان خرابی:
SELECT AVG([مدت زمان خرابی]) AS 'میانگین مدت زمان خرابی'
FROM [نام جدول];
در این کوئری، میانگین مدت زمان خرابی به صورت مستقیم محاسبه میشود.
با اجرای این دو کوئری، میتوانید مقادیر میانگین فاصله زمانی بین خرابیها و میانگین مدت زمان خرابی را از جدول دادههای خود دریافت کنید.
نوشته شده توسط
tolid123456789
سلام
من جدول زیر رو در اختیار دارم:
ردیف |
تاریخ خرابی |
مدت زمان خرابی |
1 |
2017/07/12 |
7 |
2 |
2017/07/20 |
12 |
3 |
2017/07/22 |
5 |
4 |
2017/08/01 |
2 |
5 |
2017/08/20 |
16 |
من می خوام از جدول بالا به دو عد برسم:
1-میانگین فاصله ی بین خرابی ها:
- فاصله تاریخی بین اولین خرابی و دومین خرابی که میشه 2017/07/12-2017/07/20=8
- فاصله تاریخی بین دومین خرابی و سومین خرابی که میشه 2017/07/20-2017/07/22=2
- فاصله تاریخی بین سومین خرابی و چهارمین خرابی که میشه 2017/07/22-2017/08/01=9
- فاصله تاریخی بین چهارمین خرابی و پنجمین خرابی که میشه 2017/08/01-2017/08/20=19
میانگین فاصله ی بین خرابی ها = 4/(19+9+2+8)= 9.5
2-میانگین مدت زمان خرابی:
میانگین فاصله ی بین خرابی ها = 5/(16+2+5+12+7)= 8.4
اساتید و دوستان محترم لطفا راهنمایی بفرمایید.
ممنون