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

किसी अन्य स्तंभ के मानों के समूह के आधार पर किसी स्तंभ के मानों का योग करें

चूंकि mysql के पास विंडोिंग फ़ंक्शन के लिए समर्थन नहीं है, इसलिए हमें आपकी तालिका के लिए अपनी स्वयं की समूह रैंकिंग बनानी होगी, और फिर परिणामों पर काम करने के लिए एक अन्य क्वेरी बनानी होगी।

select if(count(transaction) = 1, transaction, concat(min(transaction), '-', max(transaction))) transactions, sum(price) price 
  from (
    select if(`transaction` = @prev + 1, 
         if(@prev := `transaction`, @rank, @rank),
           if(@prev := `transaction`, @rank := @rank + 1, @rank := @rank + 1)
       ) gr,
       `transaction`,
       price
    from table1, (select @rank := 1, @prev := 0) q
    order by `transaction` asc
  ) q     
  group by gr

यहां डेमो करें




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP MYSQL:तालिका को आरोही क्रम में सूचीबद्ध करने का तरीका

  2. MySQL Group_Concat और Concat का उपयोग करते समय परिणाम की छंटनी

  3. एक टेबल बनाम कई टेबल

  4. कॉल सत्र क्यों काम नहीं कर रहा है? (कोडनिर्देशक 3)

  5. mysql कॉलम को INT से TIMESTAMP में कनवर्ट करना