Mysql
 sql >> база данни >  >> RDS >> Mysql

MYSQL:Обединете списъка със стойности в таблица

В MySQL можете да конструирате таблицата с помощта на union all :

select m.mode, SUM(p.amount)
from (select 'Cash' as mode union all
      select 'Card' union all
      select 'Cheque' union all
      select 'Bank'
     ) m left join
     payments p
     on m.mode = p.mode
group by m.mode;

Бележки:

  • Промених name към mode така че колоната със същата информация има същото име.
  • group by ключът трябва да е от първия име, а не вторият (това е m.mode вместо p.mode ).
  • Ако искате 0 вместо NULL , след това използвайте coalesce(sum(p.amount), 0) .
  • Можете да помислите за справочна таблица, която съдържа стойностите на режима.



  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. Получаване на най-високи резултати в JOIN

  3. Как можете да намерите редовете с еднакви колони?

  4. Как да използвате имена на колони, когато създавате JSON обект, Python

  5. След като инсталирам най-новата версия на MySQL, получавам грешка:#1366 - Неправилна стойност на цяло число:'' за колона 'group_id' на ред 1