आप एक सबक्वेरी में योग की गणना कर सकते हैं:
select Category
, Time
, Qty
, (
select sum(Qty)
from YourTable t2
where t1.Category = t2.Category
and t1.Time >= t2.Time
) as CatTotal
from YourTable t1
गति के लिए ट्रेडिंग पठनीयता, आप रनिंग योग रखने के लिए एक MySQL चर का उपयोग कर सकते हैं:
select Category
, Time
, Qty
, @sum := if(@cat = Category,@sum,0) + Qty as CatTotal
, @cat := Category
from YourTable
cross join
(select @cat := '', @sum := 0) as InitVarsAlias
order by
Category
, Time
इस निर्माण के काम करने के लिए आदेश देना आवश्यक है; यदि आपको किसी भिन्न क्रम की आवश्यकता है, तो क्वेरी को एक सबक्वेरी में लपेटें:
select Category
, Time
, Qty
, CatTotal
from (
select Category
, Time
, Qty
, @sum := if(@cat = Category,@sum,0) + Qty as CatTotal
, @cat := Category
from YourTable
cross join
(select @cat := '', @sum := 0) as InitVarsAlias
order by
Category
, Time
) as SubQueryAlias
order by
Time