Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

MySQL में एकाधिक श्रेणियों के लिए चल रहे योग

आप एक सबक्वेरी में योग की गणना कर सकते हैं:

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL में सभी फंक्शन्स को लिस्ट करने के 2 तरीके

  2. UTF8 एन्कोडिंग समस्या - अच्छे उदाहरणों के साथ

  3. MySQL 5.7 . में स्ट्रिक्ट SQL मोड को डिसेबल कैसे करें

  4. क्या स्प्रिंटफ के बराबर एक MySQL है?

  5. MySQL त्रुटि 1215:विदेशी कुंजी बाधा नहीं जोड़ सकता