sql >> Database >  >> RDS >> Mysql

MYSQL:lijst met waarden samenvoegen in een tabel

In MySQL kun je de tabel maken met 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;

Opmerkingen:

  • Ik heb name gewijzigd naar mode dus de kolom met dezelfde informatie heeft dezelfde naam.
  • De group by sleutel moet van de eerste . zijn naam, niet de tweede (dat is m.mode in plaats van p.mode ).
  • Als je 0 wilt hebben in plaats van NULL , gebruik dan coalesce(sum(p.amount), 0) .
  • Je zou een referentietabel kunnen overwegen die de moduswaarden bevat.



  1. mysql datum resultaten weergeven vandaag/gisteren/week

  2. Hoe FEDERATED-engine in XAMPP in te schakelen

  3. Deel 1:Beeldclassificatie met MariaDB Server en TensorFlow - een overzicht

  4. Array doorgeven aan een SQL Server Stored Procedure