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

अलग-अलग कॉलम में एक ही टेबल में SUM () और COUNT () के साथ टेबल को कैसे अपडेट करें?

इसे आज़माएं left join से अद्यतन मान का उपयोग करें (योग + गिनती) तालिका

update T T1
  left join (
    select `user`,sum(`sales`) newtotal,count(`order`) neworders
    from T
    group by `user`
  ) T2 on T1.`user` = T2.`user`
set T1.total = T2.newtotal,T1.orders = T2.neworders

डीडीएल का परीक्षण करें:

CREATE TABLE T
    (`user` varchar(4), `sales` int, `order` varchar(7), `total` int, `orders` int)
;

INSERT INTO T
    (`user`, `sales`, `order`, `total`, `orders`)
VALUES
    ('xx01', 100, 'order01', 0, 0),
    ('xx02', 200, 'order02', 0, 0),
    ('xx02', 400, 'order03', 0, 0),
    ('xx03', 300, 'order04', 0, 0),
    ('xx03', 500, 'order05', 0, 0)
;

परिणाम:

| user | sales |   order | total | orders |
|------|-------|---------|-------|--------|
| xx01 |   100 | order01 |   100 |      1 |
| xx02 |   200 | order02 |   600 |      2 |
| xx02 |   400 | order03 |   600 |      2 |
| xx03 |   300 | order04 |   800 |      2 |
| xx03 |   500 | order05 |   800 |      2 |

टेस्ट डेमो लिंक



  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. MYSQL बाएँ कई तालिकाओं से COUNTS में शामिल हों

  3. एंड्रॉइड ऐप को बाहरी MySQL डीबी के साथ कैसे संवाद करना है?

  4. Laravel बूटस्ट्रैप कैश कॉन्फ़िग फ़ाइल को कैसे साफ़ करें?

  5. Mysqli के साथ एक संयोजन कैसे सेट करें?