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

MYSQL:Połącz listę wartości w tabeli

W MySQL możesz skonstruować tabelę za pomocą 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;

Uwagi:

  • Zmieniłem name na mode więc kolumna z tymi samymi informacjami ma tę samą nazwę.
  • group by klucz musi pochodzić z pierwszego imię, a nie drugi (czyli m.mode zamiast p.mode ).
  • Jeśli chcesz 0 zamiast NULL , a następnie użyj coalesce(sum(p.amount), 0) .
  • Możesz rozważyć tabelę referencyjną, która zawiera wartości trybu.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zapisz tablicę mysql php

  2. Czy w MySQL powinienem cytować liczby, czy nie?

  3. Wybierz zapytanie, ale pokaż wynik z rekordu nr 3

  4. jak zwrócić mysql select jako tablicę tablic w json za pomocą php

  5. Problem z zapytaniem MySQL