Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak AKTUALIZOWAĆ tabelę za pomocą SUM() i COUNT() w tej samej tabeli do różnych kolumn?

spróbuj użyć wartości aktualizacji z left join (suma + liczba) tabela

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

Testuj DDL:

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)
;

Wynik:

| 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 |

TEST LINK DO DEMO



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wyodrębnij adres URL z img src za pomocą zapytania mysql

  2. Jak dodawać adnotacje do pola autoinkrementacji MYSQL za pomocą adnotacji JPA?

  3. Jakie są różnice w korzystaniu z bazy danych XML i MySQL? Którego powinienem użyć?

  4. NodeJS i mysql:czekaj na wynik zapytania

  5. Jak mogę zapobiec tworzeniu dużej liczby połączeń uśpionych przez Hibernate + c3p0 + MySql?