سؤال

على افتراض أن لدي شيئًا كهذا:

جدول MySQL

Date        |   Val   
2013/11/22  |   2     
2013/11/23  |   4     
2013/11/25  |   12    
2013/11/30  |   28    
2013/12/02  |   2     

أحتاج إلى استعلام للحصول على عمود آخر ، مجموع قيمة الصف "الحالي" بالإضافة إلى قيمة الصف السابق. مع المثال ، ستكون النتيجة شيئًا من هذا القبيل:

Date        |   Value   |  Total
2013/11/22  |   2       |  2
2013/11/23  |   4       |  6          <--- Because 4+2 = 6
2013/11/25  |   12      |  16
2013/11/30  |   28      |  40
2013/12/02  |   2       |  30

المشكلة هي أنه لا يمكنني استخدام المتغيرات لأنني على منظر.

كيف يمكنني أن أفعل هذا ؟

أي مساعدة موضع تقدير.

هل كانت مفيدة؟

المحلول

SELECT
t.Date,
t.Val,
COALESCE((SELECT Val FROM Table1 sq WHERE sq.Date < t.Date ORDER BY sq.Date DESC LIMIT 1), 0) + t.Val AS whatever
FROM
Table1 t
ORDER BY t.Date
  • نرى أنها تعمل على الهواء مباشرة في sqlfiddle
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top